Browse Source

qcacld-3.0: Limit TPC power level for non-11be

when 11be is disabled, num_pwr_levels should not
exceed 8.
Limit num_pwr_levels before sending
WMI_VDEV_SET_TPC_POWER_CMDID.

Change-Id: I1e48d455f24b74479212441c7b42f7c11de7531b
CRs-Fixed: 3225090
Jingxiang Ge 2 years ago
parent
commit
bd496ad1c1

+ 6 - 0
core/mac/src/pe/lim/lim_process_sme_req_messages.c

@@ -5337,6 +5337,12 @@ void lim_calculate_tpc(struct mac_context *mac,
 							session->ch_width);
 	}
 
+	if (num_pwr_levels > MAX_NUM_PWR_LEVELS) {
+		pe_debug("reset num_pwr_levels %d to MAX_NUM_PWR_LEVELS %d",
+			 num_pwr_levels, MAX_NUM_PWR_LEVELS);
+		num_pwr_levels = MAX_NUM_PWR_LEVELS;
+	}
+
 	ch_params.ch_width = CH_WIDTH_20MHZ;
 
 	for (i = 0;

+ 5 - 0
core/mac/src/pe/lim/lim_utils.h

@@ -110,6 +110,11 @@
 #define MAX_WAIT_FOR_BCN_TX_COMPLETE 4000
 #define MAX_WAKELOCK_FOR_CSA         5000
 
+#ifdef WLAN_FEATURE_11BE
+#define MAX_NUM_PWR_LEVELS 16
+#else
+#define MAX_NUM_PWR_LEVELS 8
+#endif
 typedef union uPmfSaQueryTimerId {
 	struct {
 		uint8_t sessionId;