Browse Source

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 year ago
parent
commit
c297e9d018
2 changed files with 13 additions and 8 deletions
  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) {