summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXun Luo <xunl@qca.qualcomm.com>2015-05-12 22:53:24 -0700
committerAnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com>2015-05-14 18:04:52 +0530
commit92b20bf456722ac259fe7e435ddea2e226a11eb0 (patch)
tree28a3b7413cd6fc1cedcdc1a5a9d2385d34757f00
parent82d0d8606a12d6459fe4e11c5442f434884ae5d1 (diff)
qca-cld: Enforce layered context destroying in VOSS closing
Enforace layered context destroying, with regard to HTC in VOSS closing routines. This also applies to VOSS shutdown routine, and FTM mode. CRs-Fixed: 832550 Change-Id: Ic08784031192cd4dca1a64bc5d65340e7c399d12
-rw-r--r--CORE/HDD/src/wlan_hdd_ftm.c13
-rw-r--r--CORE/VOSS/src/vos_api.c27
2 files changed, 19 insertions, 21 deletions
diff --git a/CORE/HDD/src/wlan_hdd_ftm.c b/CORE/HDD/src/wlan_hdd_ftm.c
index 6a51bf8c8c59..5d6b48f11155 100644
--- a/CORE/HDD/src/wlan_hdd_ftm.c
+++ b/CORE/HDD/src/wlan_hdd_ftm.c
@@ -526,12 +526,6 @@ static VOS_STATUS wlan_ftm_vos_close( v_CONTEXT_t vosContext )
}
#if defined(QCA_WIFI_FTM)
- if (gpVosContext->htc_ctx)
- {
- HTCStop(gpVosContext->htc_ctx);
- HTCDestroy(gpVosContext->htc_ctx);
- gpVosContext->htc_ctx = NULL;
- }
vosStatus = wma_wmi_service_close( vosContext );
if (!VOS_IS_STATUS_SUCCESS(vosStatus))
{
@@ -540,6 +534,13 @@ static VOS_STATUS wlan_ftm_vos_close( v_CONTEXT_t vosContext )
VOS_ASSERT( VOS_IS_STATUS_SUCCESS( vosStatus ) );
}
+ if (gpVosContext->htc_ctx)
+ {
+ HTCStop(gpVosContext->htc_ctx);
+ HTCDestroy(gpVosContext->htc_ctx);
+ gpVosContext->htc_ctx = NULL;
+ }
+
hif_disable_isr(gpVosContext->pHIFContext);
#endif
diff --git a/CORE/VOSS/src/vos_api.c b/CORE/VOSS/src/vos_api.c
index edb3d6bfad3c..72ac8a6e9c45 100644
--- a/CORE/VOSS/src/vos_api.c
+++ b/CORE/VOSS/src/vos_api.c
@@ -951,14 +951,6 @@ VOS_STATUS vos_close( v_CONTEXT_t vosContext )
{
VOS_STATUS vosStatus;
-
- if (gpVosContext->htc_ctx)
- {
- HTCStop(gpVosContext->htc_ctx);
- HTCDestroy(gpVosContext->htc_ctx);
- gpVosContext->htc_ctx = NULL;
- }
-
vosStatus = WLANTL_Close(vosContext);
if (!VOS_IS_STATUS_SUCCESS(vosStatus))
{
@@ -1027,6 +1019,12 @@ VOS_STATUS vos_close( v_CONTEXT_t vosContext )
VOS_ASSERT( VOS_IS_STATUS_SUCCESS( vosStatus ) );
}
+ if (gpVosContext->htc_ctx)
+ {
+ HTCStop(gpVosContext->htc_ctx);
+ HTCDestroy(gpVosContext->htc_ctx);
+ gpVosContext->htc_ctx = NULL;
+ }
vos_mq_deinit(&((pVosContextType)vosContext)->freeVosMq);
@@ -2103,13 +2101,6 @@ VOS_STATUS vos_shutdown(v_CONTEXT_t vosContext)
}
}
- if (gpVosContext->htc_ctx)
- {
- HTCStop(gpVosContext->htc_ctx);
- HTCDestroy(gpVosContext->htc_ctx);
- gpVosContext->htc_ctx = NULL;
- }
-
vosStatus = wma_wmi_service_close(vosContext);
if (!VOS_IS_STATUS_SUCCESS(vosStatus))
{
@@ -2118,6 +2109,12 @@ VOS_STATUS vos_shutdown(v_CONTEXT_t vosContext)
VOS_ASSERT(VOS_IS_STATUS_SUCCESS(vosStatus));
}
+ if (gpVosContext->htc_ctx)
+ {
+ HTCStop(gpVosContext->htc_ctx);
+ HTCDestroy(gpVosContext->htc_ctx);
+ gpVosContext->htc_ctx = NULL;
+ }
vos_mq_deinit(&((pVosContextType)vosContext)->freeVosMq);