summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajeev Kumar <rajekuma@qca.qualcomm.com>2014-05-29 18:10:56 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-06-02 19:40:04 -0700
commitbee24d78019b15ce4ddef2770959e1195928df5b (patch)
tree4270acd11e6188cf499da4828ddafc77bfdb388c
parentd2c1f161fd17eea9b3022059d6ef8a16a61c28b5 (diff)
qcacld: P2P race condition fix for RoC
Race condiiton fix which can cause P2P RoC timer and context is not getting freed Change-Id: I295363ccbbcac529c25e7c43a552495f19371074 CRs-Fixed: 672839
-rw-r--r--CORE/HDD/src/wlan_hdd_p2p.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/CORE/HDD/src/wlan_hdd_p2p.c b/CORE/HDD/src/wlan_hdd_p2p.c
index 83b67a2d247a..99cef86fb774 100644
--- a/CORE/HDD/src/wlan_hdd_p2p.c
+++ b/CORE/HDD/src/wlan_hdd_p2p.c
@@ -541,6 +541,7 @@ static int wlan_hdd_request_remain_on_channel( struct wiphy *wiphy,
hdd_prevent_suspend();
INIT_COMPLETION(pAdapter->rem_on_chan_ready_event);
+ pAdapter->is_roc_inprogress = TRUE;
//call sme API to start remain on channel.
if ( ( WLAN_HDD_INFRA_STATION == pAdapter->device_mode ) ||
( WLAN_HDD_P2P_CLIENT == pAdapter->device_mode ) ||
@@ -586,6 +587,7 @@ static int wlan_hdd_request_remain_on_channel( struct wiphy *wiphy,
mutex_unlock(&cfgState->remain_on_chan_ctx_lock);
vos_mem_free (pRemainChanCtx);
hdd_allow_suspend();
+ pAdapter->is_roc_inprogress = FALSE;
return -EINVAL;
}
@@ -612,7 +614,6 @@ static int wlan_hdd_request_remain_on_channel( struct wiphy *wiphy,
}
}
- pAdapter->is_roc_inprogress = TRUE;
return 0;
}