wifi: ath11k: initialize eirp_power before use
authorBaochen Qiang <quic_bqiang@quicinc.com>
Fri, 2 Feb 2024 02:40:11 +0000 (10:40 +0800)
committerKalle Valo <quic_kvalo@quicinc.com>
Mon, 5 Feb 2024 17:00:51 +0000 (19:00 +0200)
Currently, at the end of ath11k_mac_fill_reg_tpc_info(), the
reg_tpc_info struct is populated, including the following:
reg_tpc_info->is_psd_power = is_psd_power;
reg_tpc_info->eirp_power = eirp_power;

Kernel test robot complains on uninitialized symbol:
drivers/net/wireless/ath/ath11k/mac.c:7949
ath11k_mac_fill_reg_tpc_info() error: uninitialized symbol 'eirp_power'.

This is because there are some code paths that never set eirp_power, so
the assignment of reg_tpc_info->eirp_power can come from an
uninitialized variable. Functionally this is OK since the eirp_power
only has meaning when is_psd_power is true, and all code paths which set
is_psd_power to true also set eirp_power. However, to keep the robot
happy, always initialize eirp_power before use.

Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23

Fixes: 92425f788fee ("wifi: ath11k: fill parameters for vdev set tpc power WMI command")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202401311243.NyXwWZxP-lkp@intel.com/
Signed-off-by: Baochen Qiang <quic_bqiang@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240202024011.11341-1-quic_bqiang@quicinc.com
drivers/net/wireless/ath/ath11k/mac.c

index 10cfb60e14a0f5cd0586e896473653deb6ca8c76..dc2bf13f00c17e5d3ddbf66c7eab12bd0a78b7f5 100644 (file)
@@ -7597,7 +7597,8 @@ void ath11k_mac_fill_reg_tpc_info(struct ath11k *ar,
        u8 pwr_lvl_idx, num_pwr_levels, pwr_reduction;
        bool is_psd_power = false, is_tpe_present = false;
        s8 max_tx_power[IEEE80211_MAX_NUM_PWR_LEVEL],
-               psd_power, tx_power, eirp_power;
+               psd_power, tx_power;
+       s8 eirp_power = 0;
        u16 start_freq, center_freq;
 
        chan = ctx->def.chan;