|
@@ -2440,6 +2440,7 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen,
|
|
|
|
|
|
if (NULL == wma_handle) {
|
|
|
WMA_LOGE("wma_handle is NULL");
|
|
|
+ cds_packet_free((void *)tx_frame);
|
|
|
return QDF_STATUS_E_FAILURE;
|
|
|
}
|
|
|
iface = &wma_handle->interfaces[vdev_id];
|
|
@@ -2448,6 +2449,7 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen,
|
|
|
|
|
|
if (!txrx_vdev) {
|
|
|
WMA_LOGE("TxRx Vdev Handle is NULL");
|
|
|
+ cds_packet_free((void *)tx_frame);
|
|
|
return QDF_STATUS_E_FAILURE;
|
|
|
}
|
|
|
|
|
@@ -2460,12 +2462,14 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen,
|
|
|
|
|
|
if (frmType >= TXRX_FRM_MAX) {
|
|
|
WMA_LOGE("Invalid Frame Type Fail to send Frame");
|
|
|
+ cds_packet_free((void *)tx_frame);
|
|
|
return QDF_STATUS_E_FAILURE;
|
|
|
}
|
|
|
|
|
|
pMac = cds_get_context(QDF_MODULE_ID_PE);
|
|
|
if (!pMac) {
|
|
|
WMA_LOGE("pMac Handle is NULL");
|
|
|
+ cds_packet_free((void *)tx_frame);
|
|
|
return QDF_STATUS_E_FAILURE;
|
|
|
}
|
|
|
/*
|
|
@@ -2475,6 +2479,7 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen,
|
|
|
if (!((frmType == TXRX_FRM_802_11_MGMT) ||
|
|
|
(frmType == TXRX_FRM_802_11_DATA))) {
|
|
|
WMA_LOGE("No Support to send other frames except 802.11 Mgmt/Data");
|
|
|
+ cds_packet_free((void *)tx_frame);
|
|
|
return QDF_STATUS_E_FAILURE;
|
|
|
}
|
|
|
#ifdef WLAN_FEATURE_11W
|
|
@@ -2592,6 +2597,7 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen,
|
|
|
|
|
|
if (pdev == NULL) {
|
|
|
WMA_LOGE("%s: pdev pointer is not available", __func__);
|
|
|
+ cds_packet_free((void *)tx_frame);
|
|
|
return QDF_STATUS_E_FAULT;
|
|
|
}
|
|
|
|
|
@@ -2615,6 +2621,7 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen,
|
|
|
} else {
|
|
|
WMA_LOGE("%s: Already one Data pending for Ack, reject Tx of data frame",
|
|
|
__func__);
|
|
|
+ cds_packet_free((void *)tx_frame);
|
|
|
return QDF_STATUS_E_FAILURE;
|
|
|
}
|
|
|
}
|
|
@@ -2624,6 +2631,7 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen,
|
|
|
* so Ack Complete Cb is must
|
|
|
*/
|
|
|
WMA_LOGE("No Ack Complete Cb. Don't Allow");
|
|
|
+ cds_packet_free((void *)tx_frame);
|
|
|
return QDF_STATUS_E_FAILURE;
|
|
|
}
|
|
|
|
|
@@ -2684,6 +2692,7 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen,
|
|
|
txrx_vdev);
|
|
|
if (ctrl_pdev == NULL) {
|
|
|
WMA_LOGE("ol_pdev_handle is NULL\n");
|
|
|
+ cds_packet_free((void *)tx_frame);
|
|
|
return QDF_STATUS_E_FAILURE;
|
|
|
}
|
|
|
is_high_latency = cdp_cfg_is_high_latency(soc, ctrl_pdev);
|