wlan: Initialize SAP lock appropriately.
When driver is in bad state (SSR re_init fail) then there is a
possibility of accessing uninitialized SAP lock (staInfo_lock)
during driver unload.
Hence initializing staInfo_lock in WLANSAP_Open(). So that valid
lock will be acquired during driver unload.
Change-Id: I7c90040305e566a0e0216558e1280fdc692bc8a3
CRs-Fixed: 837474
diff --git a/CORE/SAP/src/sapModule.c b/CORE/SAP/src/sapModule.c
index 14c9e09..ceb8a63 100644
--- a/CORE/SAP/src/sapModule.c
+++ b/CORE/SAP/src/sapModule.c
@@ -165,6 +165,14 @@
WLANSAP_CleanCB(pSapCtx, 0 /*do not empty*/);
+ if (!VOS_IS_STATUS_SUCCESS(vos_spin_lock_init(&pSapCtx->staInfo_lock)))
+ {
+ VOS_TRACE( VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR,
+ "WLANSAP_Start failed init staInfo_lock");
+ vos_free_context(pvosGCtx, VOS_MODULE_ID_SAP, pSapCtx);
+ return VOS_STATUS_E_FAULT;
+ }
+
// Setup the "link back" to the VOSS context
pSapCtx->pvosGCtx = pvosGCtx;
@@ -257,13 +265,6 @@
return VOS_STATUS_E_FAULT;
}
- if (!VOS_IS_STATUS_SUCCESS(vos_spin_lock_init(&pSapCtx->staInfo_lock)))
- {
- VOS_TRACE( VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR,
- "WLANSAP_Start failed init staInfo_lock\n");
- return VOS_STATUS_E_FAULT;
- }
-
return VOS_STATUS_SUCCESS;
}/* WLANSAP_Start */