wlan: release the nv while unloading but not while doing an SSR
The nv data structures have to be released while unloading the
driver to prevent memory leaks, but while doing a subsystem restart
(SSR) do not release the nv during the shutdown procedures, this
way we dont have to load the nv again and it will save the restart
time.
Change-Id: I99f53144a817ac1e61fe789a839dc56791a51475
CRs-Fixed: 591220
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 5fd77f8..d3b291a 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -7142,6 +7142,16 @@
wake_lock_destroy(&pHddCtx->sap_wake_lock);
#endif
+#ifdef CONFIG_ENABLE_LINUX_REG
+ vosStatus = vos_nv_close();
+ if (!VOS_IS_STATUS_SUCCESS(vosStatus))
+ {
+ VOS_TRACE( VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR,
+ "%s: Failed to close NV", __func__);
+ VOS_ASSERT( VOS_IS_STATUS_SUCCESS( vosStatus ) );
+ }
+#endif
+
//Close VOSS
//This frees pMac(HAL) context. There should not be any call that requires pMac access after this.
vos_close(pVosContext);
diff --git a/CORE/VOSS/src/vos_api.c b/CORE/VOSS/src/vos_api.c
index df9f359..b31319d 100644
--- a/CORE/VOSS/src/vos_api.c
+++ b/CORE/VOSS/src/vos_api.c
@@ -1991,14 +1991,6 @@
((pVosContextType)vosContext)->pMACContext = NULL;
- vosStatus = vos_nv_close();
- if (!VOS_IS_STATUS_SUCCESS(vosStatus))
- {
- VOS_TRACE( VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR,
- "%s: Failed to close NV", __func__);
- VOS_ASSERT( VOS_IS_STATUS_SUCCESS( vosStatus ) );
- }
-
vosStatus = sysClose( vosContext );
if (!VOS_IS_STATUS_SUCCESS(vosStatus))
{