qcacld-3.0: Wait for download complete only when OTA required

qcacld-2.0 to qcacld-3.0 propagation

Currently for low latency target, host is waiting for 1 sec for download
complete, which is blocking MC thread. Due to this MC thread is not
serving the SME queue and which triggers the active cmd time out.

As a part of this fix, MC thread waits for download complete only
for those frame which needs OTA.

Change-Id: I25f45e969dd5bbf2341d586265d84919755f6ed3
CRs-Fixed: 967842
(cherry picked from commit c54a6f76ec228eaca7fa5f1f529d29011a83c445)
This commit is contained in:
Mukul Sharma
2016-09-03 16:31:20 +05:30
committed by qcabuildsw
parent 510e7fe109
commit dfc804c0e5

View File

@@ -2739,7 +2739,8 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen,
} }
is_high_latency = ol_cfg_is_high_latency(ctrl_pdev); is_high_latency = ol_cfg_is_high_latency(ctrl_pdev);
downld_comp_required = tx_frm_download_comp_cb && is_high_latency; downld_comp_required = tx_frm_download_comp_cb && is_high_latency &&
tx_frm_ota_comp_cb;
/* Fill the frame index to send */ /* Fill the frame index to send */
if (pFc->type == SIR_MAC_MGMT_FRAME) { if (pFc->type == SIR_MAC_MGMT_FRAME) {
@@ -2893,15 +2894,6 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen,
/* display scheduler stats */ /* display scheduler stats */
ol_txrx_display_stats(WLAN_SCHEDULER_STATS); ol_txrx_display_stats(WLAN_SCHEDULER_STATS);
} }
} else {
/*
* For Low Latency Devices
* Call the download complete
* callback once the frame is successfully
* given to txrx module
*/
tx_frm_download_comp_cb(wma_handle->mac_context, tx_frame,
WMA_TX_FRAME_BUFFER_NO_FREE);
} }
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;