Przeglądaj źródła

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)
Mukul Sharma 8 lat temu
rodzic
commit
dfc804c0e5
1 zmienionych plików z 2 dodań i 10 usunięć
  1. 2 10
      core/wma/src/wma_data.c

+ 2 - 10
core/wma/src/wma_data.c

@@ -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);
 
-	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 */
 	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 */
 			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;