wlan: Fix race condition in new cfg80211 APIs
Newly added cfg80211 APIs are not SSR protected; when SSR is in porgress
these APIs should be blocked.
Change-Id: Iafbb569808f645b7679548311cca5b2484eabee4
CR-Fixed: 409532
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 444787a..098d039 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -1712,6 +1712,12 @@
"%s: HDD adapter context is Null", __FUNCTION__);
return -ENODEV;
}
+ if ((WLAN_HDD_GET_CTX(pAdapter))->isLogpInProgress)
+ {
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
+ "%s:LOGP in Progress. Ignore!!!", __func__);
+ return -EAGAIN;
+ }
pHddCtx = (hdd_context_t*)pAdapter->pHddCtx;
if (NULL == pHddCtx)
@@ -1846,6 +1852,11 @@
hddLog(VOS_TRACE_LEVEL_INFO_HIGH, "device mode=%d\n", pAdapter->device_mode);
+ if ((WLAN_HDD_GET_CTX(pAdapter))->isLogpInProgress)
+ {
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_FATAL, "%s:LOGP in Progress. Ignore!!!",__func__);
+ return -EAGAIN;
+ }
if ((pAdapter->device_mode == WLAN_HDD_SOFTAP)
#ifdef WLAN_FEATURE_P2P
|| (pAdapter->device_mode == WLAN_HDD_P2P_GO)
@@ -1888,6 +1899,11 @@
hddLog(VOS_TRACE_LEVEL_INFO, "%s: device_mode = %d\n",
__func__, pAdapter->device_mode);
+ if ((WLAN_HDD_GET_CTX(pAdapter))->isLogpInProgress)
+ {
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_FATAL, "%s:LOGP in Progress. Ignore!!!",__func__);
+ return -EAGAIN;
+ }
if ((pAdapter->device_mode == WLAN_HDD_SOFTAP)
#ifdef WLAN_FEATURE_P2P
@@ -3033,6 +3049,11 @@
hddLog(VOS_TRACE_LEVEL_INFO,
"%s: device_mode = %d freq = %d \n",__func__,
pAdapter->device_mode, chan->center_freq);
+ if ((WLAN_HDD_GET_CTX(pAdapter))->isLogpInProgress)
+ {
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_FATAL, "%s:LOGP in Progress. Ignore!!!",__func__);
+ return -EAGAIN;
+ }
/*
* Do freq to chan conversion