HDD: Wait for firmware response to MON_MODE(START/STOP)_REQ
During driver unload, in monitor mode, it issues MON_MODE_STOP event
to firmware via WDA layer. As driver won't wait for firmware response
it goes ahead and posts WDI_STOP_REQ. So there is possibility of
processing WDI_STOP_REQ prior to MON_MODE_STOP_REQ, leading
MON_MODE_STOP_REQ to be added to WDI pending queue and this may lead
to improper driver unload.
Hence to avoid this scenario, wait for firmware response to
MON_MODE(START/STOP)_REQ and then post WDI_STOP_REQ to firmware.
Change-Id: I288d993e674fc9cf5dcceb992dee80f0a388f9db
CRs-Fixed: 903542
diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi.h b/CORE/WDI/CP/inc/wlan_qct_wdi.h
index 5f20a61..1795ca8 100644
--- a/CORE/WDI/CP/inc/wlan_qct_wdi.h
+++ b/CORE/WDI/CP/inc/wlan_qct_wdi.h
@@ -8061,8 +8061,7 @@
typedef void (*WDI_FatalEventLogsRspCb)(
WDI_FatalEventLogsRspParamType *wdiRsp, void *pUserData);
-typedef void (*WDI_MonStartRspCb)(void *pEventData,void *pUserData);
-typedef void (*WDI_MonStopRspCb)(void *pUserData);
+typedef void (*WDI_MonModeRspCb)(void *pEventData,void *pUserData);
/*========================================================================
* Function Declarations and Documentation
@@ -11450,13 +11449,13 @@
WDI_Status WDI_MonStartReq
(
WDI_MonStartReqType* pwdiMonStartReqParams,
- WDI_MonStartRspCb wdiMonStartRspCb,
+ WDI_MonModeRspCb wdiMonModeRspCb,
void* pUserData
);
WDI_Status WDI_MonStopReq
(
- WDI_MonStopRspCb wdiMonStopRspCb,
+ WDI_MonModeRspCb wdiMonModeRspCb,
void* pUserData
);