wlan: Kick DXE when TX ring is about to fill

The host needs to kick dxe through smsm notification when the target is in
BMPS mode to enable TX channels. Currently it is done only when both TX
rings are empty. Updated this to send smsm notification when the ring is
about to full also.

Change-Id: I1fc269f03fe55bd81e4287909d982e3d21b52586
CRs-Fixed: 906319
diff --git a/CORE/DXE/src/wlan_qct_dxe.c b/CORE/DXE/src/wlan_qct_dxe.c
index b9ad134..4bacd95 100644
--- a/CORE/DXE/src/wlan_qct_dxe.c
+++ b/CORE/DXE/src/wlan_qct_dxe.c
@@ -3233,7 +3233,7 @@
    void                       *sourcePhysicalAddress = NULL;
    wpt_uint32                  xferSize = 0;
    wpt_iterator                iterator;
-   wpt_uint32                  isEmpty = 0;
+   wpt_uint32                  KickDxe = 0;
 
    HDXE_MSG(eWLAN_MODULE_DAL_DATA, eWLAN_PAL_TRACE_LEVEL_INFO_LOW,
             "%s Enter", __func__);
@@ -3242,9 +3242,13 @@
    if((0 == tempDxeCtrlBlk->dxeChannel[WDTS_CHANNEL_TX_LOW_PRI].numRsvdDesc) &&
       (0 == tempDxeCtrlBlk->dxeChannel[WDTS_CHANNEL_TX_HIGH_PRI].numRsvdDesc))
    {
-      isEmpty = 1;
+       KickDxe = 1;
    }
 
+   /* Kick DXE when the ring is about to fill */
+   if (WLANDXE_TX_LOW_RES_THRESHOLD >= channelEntry->numFreeDesc)
+       KickDxe = 1;
+
    channelEntry->numFragmentCurrentChain = 0;
    currentCtrlBlk = channelEntry->headCtrlBlk;
 
@@ -3365,7 +3369,7 @@
    {
       /* Update channel head as next avaliable linked slot */
       channelEntry->headCtrlBlk = currentCtrlBlk;
-      if(isEmpty)
+      if(KickDxe)
       {
          tempDxeCtrlBlk->ringNotEmpty = eWLAN_PAL_TRUE;
          HDXE_MSG(eWLAN_MODULE_DAL_DATA, eWLAN_PAL_TRACE_LEVEL_INFO_LOW,