qcacld-3.0: Free buffer on receiving OTA completion

Free netbuf on receiving tx OTA completion for mgmt
frames.

Change-Id: I53e45fdb079c70cb4cfe081631ad225a556067b8
CRs-Fixed: 1103247
This commit is contained in:
Himanshu Agarwal
2017-01-20 20:49:41 +05:30
committed by qcabuildsw
parent 36dbf9d41f
commit 8b472bc246
4 changed files with 26 additions and 1 deletions

View File

@@ -435,6 +435,9 @@ QDF_STATUS lim_p2p_action_cnf(void *context, qdf_nbuf_t buf,
} }
} }
if (buf)
qdf_nbuf_free(buf);
return status; return status;
} }

View File

@@ -528,12 +528,18 @@ static QDF_STATUS lim_mgmt_tdls_tx_complete(void *context,
if (!session_entry) { if (!session_entry) {
lim_log(mac_ctx, LOGE, FL("session id %d is not found"), lim_log(mac_ctx, LOGE, FL("session id %d is not found"),
mac_ctx->lim.tdls_frm_session_id); mac_ctx->lim.tdls_frm_session_id);
if (buf)
qdf_nbuf_free(buf);
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
lim_send_sme_mgmt_tx_completion(mac_ctx, session_entry, lim_send_sme_mgmt_tx_completion(mac_ctx, session_entry,
tx_complete); tx_complete);
mac_ctx->lim.tdls_frm_session_id = NO_SESSION; mac_ctx->lim.tdls_frm_session_id = NO_SESSION;
} }
if (buf)
qdf_nbuf_free(buf);
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }

View File

@@ -2032,6 +2032,10 @@ static QDF_STATUS lim_auth_tx_complete_cnf(void *context,
} else { } else {
mac_ctx->auth_ack_status = LIM_AUTH_ACK_RCD_FAILURE; mac_ctx->auth_ack_status = LIM_AUTH_ACK_RCD_FAILURE;
} }
if (buf)
qdf_nbuf_free(buf);
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
@@ -2557,6 +2561,10 @@ QDF_STATUS lim_disassoc_tx_complete_cnf(void *context,
lim_log(pMac, LOG1, lim_log(pMac, LOG1,
FL("txCompleteSuccess: %d"), txCompleteSuccess); FL("txCompleteSuccess: %d"), txCompleteSuccess);
if (buf)
qdf_nbuf_free(buf);
return lim_send_disassoc_cnf(pMac); return lim_send_disassoc_cnf(pMac);
} }
@@ -2569,6 +2577,10 @@ QDF_STATUS lim_deauth_tx_complete_cnf(void *context,
lim_log(pMac, LOG1, lim_log(pMac, LOG1,
FL("txCompleteSuccess: %d"), txCompleteSuccess); FL("txCompleteSuccess: %d"), txCompleteSuccess);
if (buf)
qdf_nbuf_free(buf);
return lim_send_deauth_cnf(pMac); return lim_send_deauth_cnf(pMac);
} }
@@ -3586,6 +3598,10 @@ static QDF_STATUS lim_oper_chan_change_confirm_tx_complete_cnf(
lim_log(mac_ctx, LOG1, lim_log(mac_ctx, LOG1,
FL(" tx_complete= %d"), tx_complete); FL(" tx_complete= %d"), tx_complete);
if (buf)
qdf_nbuf_free(buf);
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }

View File

@@ -2875,7 +2875,7 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen,
status = wlan_mgmt_txrx_mgmt_frame_tx(peer, status = wlan_mgmt_txrx_mgmt_frame_tx(peer,
(tpAniSirGlobal)wma_handle->mac_context, (tpAniSirGlobal)wma_handle->mac_context,
(qdf_nbuf_t)tx_frame, (qdf_nbuf_t)tx_frame,
tx_frm_download_comp_cb, tx_frm_ota_comp_cb, NULL, tx_frm_ota_comp_cb,
WLAN_UMAC_COMP_MLME, &mgmt_param); WLAN_UMAC_COMP_MLME, &mgmt_param);
if (status != QDF_STATUS_SUCCESS) { if (status != QDF_STATUS_SUCCESS) {
WMA_LOGE("%s: mgmt tx failed", __func__); WMA_LOGE("%s: mgmt tx failed", __func__);