wlan: do not enter IMPS if DXE rings have pending TX data

It has been observed that if WCNSS goes to IMPS if data
is pending DXE will try to push that data once the WCNSS
comes out of IMPS. The Data pushed by DXE is leading to
a WCNSS crash in certain cases, so add a check in the host
to defer IMPS if DXE rings are not empty.

Change-Id: Ie4c729285495a96914e792833e26d6ec78a03302
CRs-Fixed: 634187
diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi.h b/CORE/WDI/CP/inc/wlan_qct_wdi.h
index 42c93e0..cc3cfaf 100644
--- a/CORE/WDI/CP/inc/wlan_qct_wdi.h
+++ b/CORE/WDI/CP/inc/wlan_qct_wdi.h
@@ -3691,6 +3691,21 @@
 }WDI_EnterBmpsReqParamsType;
 
 /*---------------------------------------------------------------------------
+  WDI_EnterImpsReqParamsType
+  Enter IMPS parameters passed to WDI from WDA
+---------------------------------------------------------------------------*/
+typedef struct
+{
+   /*Request status callback offered by UMAC - it is called if the current req
+   has returned PENDING as status; it delivers the status of sending the message
+   over the BUS */
+   WDI_ReqStatusCb          wdiReqStatusCB;
+   /*The user data passed in by UMAC, it will be sent back when the above
+   function pointer will be called */
+   void*                    pUserData;
+}WDI_EnterImpsReqParamsType;
+
+/*---------------------------------------------------------------------------
   WDI_EnterBmpsReqParamsType
   Enter BMPS parameters passed from WDI to WDA
 ---------------------------------------------------------------------------*/
@@ -8638,6 +8653,7 @@
 WDI_Status 
 WDI_EnterImpsReq
 (
+   WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
    WDI_EnterImpsRspCb  wdiEnterImpsRspCb,
    void*                   pUserData
 );