wlan: Fix issue in stop SoftAp
When SoftAP is turned-off from UI, then stop_ap does not cleanly
stop AP if there is no STA/P2P-CLI adapter. For non-concurrency
mode there will not be such adapter. Fixed issue in stop_ap. Also
re-init per STA per AC spin lock in softp deinit tx/rx sta function,
because even after hostapd stop, netdev can still call hostapd
open until driver gets unloaded and so spin lock is required to
avoid crash.
Change-Id: I9bb05fafa637e8e5dfa3aefdaa7a76ea3b4a0a53
CRs-fixed: 567901
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index c3c815f..f925dd9 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -2295,9 +2295,9 @@
staAdapter = hdd_get_adapter(pAdapter->pHddCtx, WLAN_HDD_P2P_CLIENT);
if (NULL == staAdapter)
{
- VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
- "%s: HDD adapter context is Null", __func__);
- return -ENODEV;
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
+ "%s: HDD adapter context for STA/P2P-CLI is Null",
+ __func__);
}
}
@@ -2306,7 +2306,7 @@
hddLog(VOS_TRACE_LEVEL_INFO, "%s: device_mode = %d\n",
__func__,pAdapter->device_mode);
- if ((pScanInfo != NULL) && pScanInfo->mScanPending)
+ if ((pScanInfo != NULL) && pScanInfo->mScanPending && staAdapter)
{
INIT_COMPLETION(pScanInfo->abortscan_event_var);
hdd_abort_mac_scan(staAdapter->pHddCtx, pAdapter->sessionId);
@@ -2315,11 +2315,10 @@
msecs_to_jiffies(WLAN_WAIT_TIME_ABORTSCAN));
if (!status)
{
- VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_FATAL,
+ VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
"%s: Timeout occurred while waiting for abortscan" ,
__func__);
VOS_ASSERT(pScanInfo->mScanPending);
- return 0;
}
}