wlan: Fix SSR failure in STA + MON SCC
When SSR is triggered in STA + Mon SCC, during reset all adapters, Monitor
adapter is trying to acquire un-initialized sta_hash_lock which is
resulting in SSR failure
To fix this, initialize sta_hash_lock in hdd_init_mon_mode().
Change-Id: I271b2a9f68fd61250986066ed2217202636665a0
CRs-Fixed: 2201502
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 0270d8f..af0ed7d 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -9221,8 +9221,11 @@
void hdd_init_mon_mode (hdd_adapter_t *pAdapter)
{
hdd_mon_ctx_t *pMonCtx = NULL;
- pMonCtx = WLAN_HDD_GET_MONITOR_CTX_PTR(pAdapter);
+ spin_lock_init(&pAdapter->sta_hash_lock);
+ pAdapter->is_sta_id_hash_initialized = VOS_FALSE;
+
+ pMonCtx = WLAN_HDD_GET_MONITOR_CTX_PTR(pAdapter);
pMonCtx->state = 0;
pMonCtx->ChannelNo = 1;
pMonCtx->ChannelBW = 20;
@@ -14676,7 +14679,6 @@
case VOS_P2P_CLIENT_MODE:
case VOS_P2P_GO_MODE:
case VOS_STA_SAP_MODE:
- case VOS_MONITOR_MODE:
pHddCtx->no_of_active_sessions[mode]++;
break;
default:
@@ -14711,7 +14713,6 @@
case VOS_P2P_CLIENT_MODE:
case VOS_P2P_GO_MODE:
case VOS_STA_SAP_MODE:
- case VOS_MONITOR_MODE:
if (pHddCtx->no_of_active_sessions[mode] > 0)
pHddCtx->no_of_active_sessions[mode]--;
else