summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CORE/HDD/src/wlan_hdd_softap_tx_rx.c34
-rw-r--r--CORE/HDD/src/wlan_hdd_tx_rx.c2
2 files changed, 18 insertions, 18 deletions
diff --git a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
index e909b2d69f33..7d269b724701 100644
--- a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
+++ b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
@@ -1103,13 +1103,28 @@ VOS_STATUS hdd_softap_tx_fetch_packet_cbk( v_VOID_t *vosContext,
return VOS_STATUS_E_FAILURE;
}
- pAdapter = pHddCtx->sta_to_adapter[*pStaId];
- if( NULL == pAdapter )
+ STAId = *pStaId;
+ if (STAId >= WLAN_MAX_STA_COUNT)
+ {
+ VOS_TRACE( VOS_MODULE_ID_HDD_SOFTAP, VOS_TRACE_LEVEL_ERROR,
+ "%s: Invalid STAId %d passed by TL", __func__, STAId);
+ return VOS_STATUS_E_FAILURE;
+ }
+
+ pAdapter = pHddCtx->sta_to_adapter[STAId];
+ if ((NULL == pAdapter) || (WLAN_HDD_ADAPTER_MAGIC != pAdapter->magic))
{
VOS_ASSERT(0);
return VOS_STATUS_E_FAILURE;
}
+ if (FALSE == pAdapter->aStaInfo[STAId].isUsed )
+ {
+ VOS_TRACE( VOS_MODULE_ID_HDD_SOFTAP, VOS_TRACE_LEVEL_ERROR,
+ "%s: Unregistered STAId %d passed by TL", __func__, STAId);
+ return VOS_STATUS_E_FAILURE;
+ }
+
/* Monitor traffic */
if ( pHddCtx->cfg_ini->enableTrafficMonitor )
{
@@ -1132,21 +1147,6 @@ VOS_STATUS hdd_softap_tx_fetch_packet_cbk( v_VOID_t *vosContext,
++pAdapter->hdd_stats.hddTxRxStats.txFetched;
- STAId = *pStaId;
- if (STAId >= WLAN_MAX_STA_COUNT)
- {
- VOS_TRACE( VOS_MODULE_ID_HDD_SOFTAP, VOS_TRACE_LEVEL_ERROR,
- "%s: Invalid STAId %d passed by TL", __func__, STAId);
- return VOS_STATUS_E_FAILURE;
- }
-
- if (FALSE == pAdapter->aStaInfo[STAId].isUsed )
- {
- VOS_TRACE( VOS_MODULE_ID_HDD_SOFTAP, VOS_TRACE_LEVEL_ERROR,
- "%s: Unregistered STAId %d passed by TL", __func__, STAId);
- return VOS_STATUS_E_FAILURE;
- }
-
*ppVosPacket = NULL;
//Make sure the AC being asked for is sane
diff --git a/CORE/HDD/src/wlan_hdd_tx_rx.c b/CORE/HDD/src/wlan_hdd_tx_rx.c
index f57be8db267c..f9fcd0a9b4c9 100644
--- a/CORE/HDD/src/wlan_hdd_tx_rx.c
+++ b/CORE/HDD/src/wlan_hdd_tx_rx.c
@@ -1304,7 +1304,7 @@ VOS_STATUS hdd_tx_fetch_packet_cbk( v_VOID_t *vosContext,
}
pAdapter = pHddCtx->sta_to_adapter[*pStaId];
- if( NULL == pAdapter )
+ if ((NULL == pAdapter) || (WLAN_HDD_ADAPTER_MAGIC != pAdapter->magic))
{
VOS_ASSERT(0);
return VOS_STATUS_E_FAILURE;