소스 검색

qcacld-3.0: Enable AMSDU support by default for STAUT

The STAUT should have AMSDU support enabled by default and
only be reset if user space requests for it. On contrary,
the testbed STA needs to disable AMSDU support by default.
Currently, a unit test command is being issued to FW via
reset EHT defaults that disables the global AMSDU flag in
FW and without another unit test command, AMSDU is kept
disabled. Remove the unit test command logic as sigma_dut
itself disables AMSDU through cli set command in reset
defaults. For STAUT, a user config is set to true in reset
defaults and cli set command in pre vdev start uses this
flag to enable AMSDU support by default.

Change-Id: If49cb137ac4e0354b68d8d3a1aeceae49c4863aa
CRs-Fixed: 3601076
Gururaj Pandurangi 1 년 전
부모
커밋
c297e9d018
2개의 변경된 파일13개의 추가작업 그리고 8개의 파일을 삭제
  1. 1 0
      core/sme/src/common/sme_api.c
  2. 12 8
      core/wma/src/wma_dev_if.c

+ 1 - 0
core/sme/src/common/sme_api.c

@@ -15100,6 +15100,7 @@ void sme_reset_he_caps(mac_handle_t mac_handle, uint8_t vdev_id)
 
 	if (mac_ctx->usr_cfg_disable_rsp_tx)
 		sme_set_cfg_disable_tx(mac_handle, vdev_id, 0);
+	mac_ctx->is_usr_cfg_amsdu_enabled = true;
 }
 #endif
 

+ 12 - 8
core/wma/src/wma_dev_if.c

@@ -3368,15 +3368,19 @@ QDF_STATUS wma_vdev_pre_start(uint8_t vdev_id, bool restart)
 	if (QDF_IS_STATUS_ERROR(status))
 		wma_err("failed to set aggregation sizes(status = %d)", status);
 
-	status = wlan_mlme_get_max_amsdu_num(wma->psoc, &amsdu_val);
-	if (QDF_IS_STATUS_ERROR(status)) {
-		wma_err("failed to get amsdu aggr.size(status = %d)", status);
-	} else {
-		status = wma_set_tx_rx_aggr_size(vdev_id, amsdu_val, amsdu_val,
-					WMI_VDEV_CUSTOM_AGGR_TYPE_AMSDU);
-		if (QDF_IS_STATUS_ERROR(status))
-			wma_err("failed to set amsdu aggr.size(status = %d)",
+	if (mac_ctx->is_usr_cfg_amsdu_enabled) {
+		status = wlan_mlme_get_max_amsdu_num(wma->psoc, &amsdu_val);
+		if (QDF_IS_STATUS_ERROR(status)) {
+			wma_err("failed to get amsdu aggr.size(status = %d)",
 				status);
+		} else {
+			status = wma_set_tx_rx_aggr_size(
+					vdev_id, amsdu_val, amsdu_val,
+					WMI_VDEV_CUSTOM_AGGR_TYPE_AMSDU);
+			if (QDF_IS_STATUS_ERROR(status))
+				wma_err("failed to set amsdu aggr.size(status = %d)",
+					status);
+		}
 	}
 
 	if (mlme_obj->mgmt.generic.type == WMI_VDEV_TYPE_STA) {