All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Wen Gong <quic_wgong@quicinc.com>
Cc: lkp@intel.com, kbuild-all@lists.01.org,
	Kalle Valo <kvalo@codeaurora.org>,
	ath10k@lists.infradead.org, linux-kernel@vger.kernel.org,
	Kalle Valo <quic_kvalo@quicinc.com>
Subject: [kvalo-ath:pending 8/17] drivers/net/wireless/ath/ath11k/dp_tx.c:511 ath11k_dp_tx_update_txcompl() error: uninitialized symbol 'rate_idx'.
Date: Wed, 5 Jan 2022 17:49:29 +0300	[thread overview]
Message-ID: <202112230637.BasxPV7i-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git pending
head:   c9a516b946c4b3ce25d422890ca78d0ca730b065
commit: 1b8bb94c0612cf32e418e90ae93cf37214d84669 [8/17] ath11k: report tx bitrate for iw wlan station dump
config: microblaze-randconfig-m031-20211222 (https://download.01.org/0day-ci/archive/20211223/202112230637.BasxPV7i-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/net/wireless/ath/ath11k/dp_tx.c:511 ath11k_dp_tx_update_txcompl() error: uninitialized symbol 'rate_idx'.

vim +/rate_idx +511 drivers/net/wireless/ath/ath11k/dp_tx.c

1b8bb94c0612cf Wen Gong   2021-12-20  418  void ath11k_dp_tx_update_txcompl(struct ath11k *ar, struct hal_tx_status *ts)
1b8bb94c0612cf Wen Gong   2021-12-20  419  {
1b8bb94c0612cf Wen Gong   2021-12-20  420  	struct ath11k_base *ab = ar->ab;
1b8bb94c0612cf Wen Gong   2021-12-20  421  	struct ath11k_per_peer_tx_stats *peer_stats = &ar->cached_stats;
1b8bb94c0612cf Wen Gong   2021-12-20  422  	enum hal_tx_rate_stats_pkt_type pkt_type;
1b8bb94c0612cf Wen Gong   2021-12-20  423  	enum hal_tx_rate_stats_sgi sgi;
1b8bb94c0612cf Wen Gong   2021-12-20  424  	enum hal_tx_rate_stats_bw bw;
1b8bb94c0612cf Wen Gong   2021-12-20  425  	struct ath11k_peer *peer;
1b8bb94c0612cf Wen Gong   2021-12-20  426  	struct ath11k_sta *arsta;
1b8bb94c0612cf Wen Gong   2021-12-20  427  	struct ieee80211_sta *sta;
1b8bb94c0612cf Wen Gong   2021-12-20  428  	u16 rate, ru_tones;
1b8bb94c0612cf Wen Gong   2021-12-20  429  	u8 mcs, rate_idx, ofdma;
1b8bb94c0612cf Wen Gong   2021-12-20  430  	int ret;
1b8bb94c0612cf Wen Gong   2021-12-20  431  
1b8bb94c0612cf Wen Gong   2021-12-20  432  	spin_lock_bh(&ab->base_lock);
1b8bb94c0612cf Wen Gong   2021-12-20  433  	peer = ath11k_peer_find_by_id(ab, ts->peer_id);
1b8bb94c0612cf Wen Gong   2021-12-20  434  	if (!peer || !peer->sta) {
1b8bb94c0612cf Wen Gong   2021-12-20  435  		ath11k_dbg(ab, ATH11K_DBG_DP_TX,
1b8bb94c0612cf Wen Gong   2021-12-20  436  			   "failed to find the peer by id %u\n", ts->peer_id);
1b8bb94c0612cf Wen Gong   2021-12-20  437  		goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  438  	}
1b8bb94c0612cf Wen Gong   2021-12-20  439  
1b8bb94c0612cf Wen Gong   2021-12-20  440  	sta = peer->sta;
1b8bb94c0612cf Wen Gong   2021-12-20  441  	arsta = (struct ath11k_sta *)sta->drv_priv;
1b8bb94c0612cf Wen Gong   2021-12-20  442  
1b8bb94c0612cf Wen Gong   2021-12-20  443  	memset(&arsta->txrate, 0, sizeof(arsta->txrate));
1b8bb94c0612cf Wen Gong   2021-12-20  444  	pkt_type = FIELD_GET(HAL_TX_RATE_STATS_INFO0_PKT_TYPE,
1b8bb94c0612cf Wen Gong   2021-12-20  445  			     ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  446  	mcs = FIELD_GET(HAL_TX_RATE_STATS_INFO0_MCS,
1b8bb94c0612cf Wen Gong   2021-12-20  447  			ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  448  	sgi = FIELD_GET(HAL_TX_RATE_STATS_INFO0_SGI,
1b8bb94c0612cf Wen Gong   2021-12-20  449  			ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  450  	bw = FIELD_GET(HAL_TX_RATE_STATS_INFO0_BW, ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  451  	ru_tones = FIELD_GET(HAL_TX_RATE_STATS_INFO0_TONES_IN_RU, ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  452  	ofdma = FIELD_GET(HAL_TX_RATE_STATS_INFO0_OFDMA_TX, ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  453  
1b8bb94c0612cf Wen Gong   2021-12-20  454  	/* This is to prefer choose the real NSS value arsta->last_txrate.nss,
1b8bb94c0612cf Wen Gong   2021-12-20  455  	 * if it is invalid, then choose the NSS value while assoc.
1b8bb94c0612cf Wen Gong   2021-12-20  456  	 */
1b8bb94c0612cf Wen Gong   2021-12-20  457  	if (arsta->last_txrate.nss)
1b8bb94c0612cf Wen Gong   2021-12-20  458  		arsta->txrate.nss = arsta->last_txrate.nss;
1b8bb94c0612cf Wen Gong   2021-12-20  459  	else
1b8bb94c0612cf Wen Gong   2021-12-20  460  		arsta->txrate.nss = arsta->peer_nss;
1b8bb94c0612cf Wen Gong   2021-12-20  461  
1b8bb94c0612cf Wen Gong   2021-12-20  462  	if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11A ||
1b8bb94c0612cf Wen Gong   2021-12-20  463  	    pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11B) {
1b8bb94c0612cf Wen Gong   2021-12-20  464  		ret = ath11k_mac_hw_ratecode_to_legacy_rate(mcs,
1b8bb94c0612cf Wen Gong   2021-12-20  465  							    pkt_type,
1b8bb94c0612cf Wen Gong   2021-12-20  466  							    &rate_idx,
1b8bb94c0612cf Wen Gong   2021-12-20  467  							    &rate);
1b8bb94c0612cf Wen Gong   2021-12-20  468  		if (ret < 0)
1b8bb94c0612cf Wen Gong   2021-12-20  469  			goto err_out;

"rate_idx" not initialized on other paths.

1b8bb94c0612cf Wen Gong   2021-12-20  470  		arsta->txrate.legacy = rate;
1b8bb94c0612cf Wen Gong   2021-12-20  471  	} else if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11N) {
1b8bb94c0612cf Wen Gong   2021-12-20  472  		if (mcs > 7) {
1b8bb94c0612cf Wen Gong   2021-12-20  473  			ath11k_warn(ab, "Invalid HT mcs index %d\n", mcs);
1b8bb94c0612cf Wen Gong   2021-12-20  474  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  475  		}
1b8bb94c0612cf Wen Gong   2021-12-20  476  
1b8bb94c0612cf Wen Gong   2021-12-20  477  		if (arsta->txrate.nss != 0)
1b8bb94c0612cf Wen Gong   2021-12-20  478  			arsta->txrate.mcs = mcs + 8 * (arsta->txrate.nss - 1);
1b8bb94c0612cf Wen Gong   2021-12-20  479  		arsta->txrate.flags = RATE_INFO_FLAGS_MCS;
1b8bb94c0612cf Wen Gong   2021-12-20  480  		if (sgi)
1b8bb94c0612cf Wen Gong   2021-12-20  481  			arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI;
1b8bb94c0612cf Wen Gong   2021-12-20  482  	} else if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11AC) {
1b8bb94c0612cf Wen Gong   2021-12-20  483  		if (mcs > 9) {
1b8bb94c0612cf Wen Gong   2021-12-20  484  			ath11k_warn(ab, "Invalid VHT mcs index %d\n", mcs);
1b8bb94c0612cf Wen Gong   2021-12-20  485  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  486  		}
1b8bb94c0612cf Wen Gong   2021-12-20  487  
1b8bb94c0612cf Wen Gong   2021-12-20  488  		arsta->txrate.mcs = mcs;
1b8bb94c0612cf Wen Gong   2021-12-20  489  		arsta->txrate.flags = RATE_INFO_FLAGS_VHT_MCS;
1b8bb94c0612cf Wen Gong   2021-12-20  490  		if (sgi)
1b8bb94c0612cf Wen Gong   2021-12-20  491  			arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI;
1b8bb94c0612cf Wen Gong   2021-12-20  492  	} else if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11AX) {
1b8bb94c0612cf Wen Gong   2021-12-20  493  		if (mcs > 11) {
1b8bb94c0612cf Wen Gong   2021-12-20  494  			ath11k_warn(ab, "Invalid HE mcs index %d\n", mcs);
1b8bb94c0612cf Wen Gong   2021-12-20  495  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  496  		}
1b8bb94c0612cf Wen Gong   2021-12-20  497  
1b8bb94c0612cf Wen Gong   2021-12-20  498  		arsta->txrate.mcs = mcs;
1b8bb94c0612cf Wen Gong   2021-12-20  499  		arsta->txrate.flags = RATE_INFO_FLAGS_HE_MCS;
1b8bb94c0612cf Wen Gong   2021-12-20  500  		arsta->txrate.he_gi = ath11k_mac_he_gi_to_nl80211_he_gi(sgi);
1b8bb94c0612cf Wen Gong   2021-12-20  501  	}
1b8bb94c0612cf Wen Gong   2021-12-20  502  
1b8bb94c0612cf Wen Gong   2021-12-20  503  	arsta->txrate.bw = ath11k_mac_bw_to_mac80211_bw(bw);
1b8bb94c0612cf Wen Gong   2021-12-20  504  	if (ofdma && pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11AX) {
1b8bb94c0612cf Wen Gong   2021-12-20  505  		arsta->txrate.bw = RATE_INFO_BW_HE_RU;
1b8bb94c0612cf Wen Gong   2021-12-20  506  		arsta->txrate.he_ru_alloc =
1b8bb94c0612cf Wen Gong   2021-12-20  507  			ath11k_mac_he_ru_tones_to_nl80211_he_ru_alloc(ru_tones);
1b8bb94c0612cf Wen Gong   2021-12-20  508  	}
1b8bb94c0612cf Wen Gong   2021-12-20  509  
1b8bb94c0612cf Wen Gong   2021-12-20  510  	if (ath11k_debugfs_is_extd_tx_stats_enabled(ar))
1b8bb94c0612cf Wen Gong   2021-12-20 @511  		ath11k_debugfs_sta_add_tx_stats(arsta, peer_stats, rate_idx);
                                                                                                           ^^^^^^^^



1b8bb94c0612cf Wen Gong   2021-12-20  512  
1b8bb94c0612cf Wen Gong   2021-12-20  513  err_out:
1b8bb94c0612cf Wen Gong   2021-12-20  514  	spin_unlock_bh(&ab->base_lock);
1b8bb94c0612cf Wen Gong   2021-12-20  515  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org


WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Wen Gong <quic_wgong@quicinc.com>
Cc: lkp@intel.com, kbuild-all@lists.01.org,
	Kalle Valo <kvalo@codeaurora.org>,
	 ath10k@lists.infradead.org, linux-kernel@vger.kernel.org,
	Kalle Valo <quic_kvalo@quicinc.com>
Subject: [kvalo-ath:pending 8/17] drivers/net/wireless/ath/ath11k/dp_tx.c:511 ath11k_dp_tx_update_txcompl() error: uninitialized symbol 'rate_idx'.
Date: Wed, 5 Jan 2022 17:49:29 +0300	[thread overview]
Message-ID: <202112230637.BasxPV7i-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git pending
head:   c9a516b946c4b3ce25d422890ca78d0ca730b065
commit: 1b8bb94c0612cf32e418e90ae93cf37214d84669 [8/17] ath11k: report tx bitrate for iw wlan station dump
config: microblaze-randconfig-m031-20211222 (https://download.01.org/0day-ci/archive/20211223/202112230637.BasxPV7i-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/net/wireless/ath/ath11k/dp_tx.c:511 ath11k_dp_tx_update_txcompl() error: uninitialized symbol 'rate_idx'.

vim +/rate_idx +511 drivers/net/wireless/ath/ath11k/dp_tx.c

1b8bb94c0612cf Wen Gong   2021-12-20  418  void ath11k_dp_tx_update_txcompl(struct ath11k *ar, struct hal_tx_status *ts)
1b8bb94c0612cf Wen Gong   2021-12-20  419  {
1b8bb94c0612cf Wen Gong   2021-12-20  420  	struct ath11k_base *ab = ar->ab;
1b8bb94c0612cf Wen Gong   2021-12-20  421  	struct ath11k_per_peer_tx_stats *peer_stats = &ar->cached_stats;
1b8bb94c0612cf Wen Gong   2021-12-20  422  	enum hal_tx_rate_stats_pkt_type pkt_type;
1b8bb94c0612cf Wen Gong   2021-12-20  423  	enum hal_tx_rate_stats_sgi sgi;
1b8bb94c0612cf Wen Gong   2021-12-20  424  	enum hal_tx_rate_stats_bw bw;
1b8bb94c0612cf Wen Gong   2021-12-20  425  	struct ath11k_peer *peer;
1b8bb94c0612cf Wen Gong   2021-12-20  426  	struct ath11k_sta *arsta;
1b8bb94c0612cf Wen Gong   2021-12-20  427  	struct ieee80211_sta *sta;
1b8bb94c0612cf Wen Gong   2021-12-20  428  	u16 rate, ru_tones;
1b8bb94c0612cf Wen Gong   2021-12-20  429  	u8 mcs, rate_idx, ofdma;
1b8bb94c0612cf Wen Gong   2021-12-20  430  	int ret;
1b8bb94c0612cf Wen Gong   2021-12-20  431  
1b8bb94c0612cf Wen Gong   2021-12-20  432  	spin_lock_bh(&ab->base_lock);
1b8bb94c0612cf Wen Gong   2021-12-20  433  	peer = ath11k_peer_find_by_id(ab, ts->peer_id);
1b8bb94c0612cf Wen Gong   2021-12-20  434  	if (!peer || !peer->sta) {
1b8bb94c0612cf Wen Gong   2021-12-20  435  		ath11k_dbg(ab, ATH11K_DBG_DP_TX,
1b8bb94c0612cf Wen Gong   2021-12-20  436  			   "failed to find the peer by id %u\n", ts->peer_id);
1b8bb94c0612cf Wen Gong   2021-12-20  437  		goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  438  	}
1b8bb94c0612cf Wen Gong   2021-12-20  439  
1b8bb94c0612cf Wen Gong   2021-12-20  440  	sta = peer->sta;
1b8bb94c0612cf Wen Gong   2021-12-20  441  	arsta = (struct ath11k_sta *)sta->drv_priv;
1b8bb94c0612cf Wen Gong   2021-12-20  442  
1b8bb94c0612cf Wen Gong   2021-12-20  443  	memset(&arsta->txrate, 0, sizeof(arsta->txrate));
1b8bb94c0612cf Wen Gong   2021-12-20  444  	pkt_type = FIELD_GET(HAL_TX_RATE_STATS_INFO0_PKT_TYPE,
1b8bb94c0612cf Wen Gong   2021-12-20  445  			     ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  446  	mcs = FIELD_GET(HAL_TX_RATE_STATS_INFO0_MCS,
1b8bb94c0612cf Wen Gong   2021-12-20  447  			ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  448  	sgi = FIELD_GET(HAL_TX_RATE_STATS_INFO0_SGI,
1b8bb94c0612cf Wen Gong   2021-12-20  449  			ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  450  	bw = FIELD_GET(HAL_TX_RATE_STATS_INFO0_BW, ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  451  	ru_tones = FIELD_GET(HAL_TX_RATE_STATS_INFO0_TONES_IN_RU, ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  452  	ofdma = FIELD_GET(HAL_TX_RATE_STATS_INFO0_OFDMA_TX, ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  453  
1b8bb94c0612cf Wen Gong   2021-12-20  454  	/* This is to prefer choose the real NSS value arsta->last_txrate.nss,
1b8bb94c0612cf Wen Gong   2021-12-20  455  	 * if it is invalid, then choose the NSS value while assoc.
1b8bb94c0612cf Wen Gong   2021-12-20  456  	 */
1b8bb94c0612cf Wen Gong   2021-12-20  457  	if (arsta->last_txrate.nss)
1b8bb94c0612cf Wen Gong   2021-12-20  458  		arsta->txrate.nss = arsta->last_txrate.nss;
1b8bb94c0612cf Wen Gong   2021-12-20  459  	else
1b8bb94c0612cf Wen Gong   2021-12-20  460  		arsta->txrate.nss = arsta->peer_nss;
1b8bb94c0612cf Wen Gong   2021-12-20  461  
1b8bb94c0612cf Wen Gong   2021-12-20  462  	if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11A ||
1b8bb94c0612cf Wen Gong   2021-12-20  463  	    pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11B) {
1b8bb94c0612cf Wen Gong   2021-12-20  464  		ret = ath11k_mac_hw_ratecode_to_legacy_rate(mcs,
1b8bb94c0612cf Wen Gong   2021-12-20  465  							    pkt_type,
1b8bb94c0612cf Wen Gong   2021-12-20  466  							    &rate_idx,
1b8bb94c0612cf Wen Gong   2021-12-20  467  							    &rate);
1b8bb94c0612cf Wen Gong   2021-12-20  468  		if (ret < 0)
1b8bb94c0612cf Wen Gong   2021-12-20  469  			goto err_out;

"rate_idx" not initialized on other paths.

1b8bb94c0612cf Wen Gong   2021-12-20  470  		arsta->txrate.legacy = rate;
1b8bb94c0612cf Wen Gong   2021-12-20  471  	} else if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11N) {
1b8bb94c0612cf Wen Gong   2021-12-20  472  		if (mcs > 7) {
1b8bb94c0612cf Wen Gong   2021-12-20  473  			ath11k_warn(ab, "Invalid HT mcs index %d\n", mcs);
1b8bb94c0612cf Wen Gong   2021-12-20  474  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  475  		}
1b8bb94c0612cf Wen Gong   2021-12-20  476  
1b8bb94c0612cf Wen Gong   2021-12-20  477  		if (arsta->txrate.nss != 0)
1b8bb94c0612cf Wen Gong   2021-12-20  478  			arsta->txrate.mcs = mcs + 8 * (arsta->txrate.nss - 1);
1b8bb94c0612cf Wen Gong   2021-12-20  479  		arsta->txrate.flags = RATE_INFO_FLAGS_MCS;
1b8bb94c0612cf Wen Gong   2021-12-20  480  		if (sgi)
1b8bb94c0612cf Wen Gong   2021-12-20  481  			arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI;
1b8bb94c0612cf Wen Gong   2021-12-20  482  	} else if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11AC) {
1b8bb94c0612cf Wen Gong   2021-12-20  483  		if (mcs > 9) {
1b8bb94c0612cf Wen Gong   2021-12-20  484  			ath11k_warn(ab, "Invalid VHT mcs index %d\n", mcs);
1b8bb94c0612cf Wen Gong   2021-12-20  485  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  486  		}
1b8bb94c0612cf Wen Gong   2021-12-20  487  
1b8bb94c0612cf Wen Gong   2021-12-20  488  		arsta->txrate.mcs = mcs;
1b8bb94c0612cf Wen Gong   2021-12-20  489  		arsta->txrate.flags = RATE_INFO_FLAGS_VHT_MCS;
1b8bb94c0612cf Wen Gong   2021-12-20  490  		if (sgi)
1b8bb94c0612cf Wen Gong   2021-12-20  491  			arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI;
1b8bb94c0612cf Wen Gong   2021-12-20  492  	} else if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11AX) {
1b8bb94c0612cf Wen Gong   2021-12-20  493  		if (mcs > 11) {
1b8bb94c0612cf Wen Gong   2021-12-20  494  			ath11k_warn(ab, "Invalid HE mcs index %d\n", mcs);
1b8bb94c0612cf Wen Gong   2021-12-20  495  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  496  		}
1b8bb94c0612cf Wen Gong   2021-12-20  497  
1b8bb94c0612cf Wen Gong   2021-12-20  498  		arsta->txrate.mcs = mcs;
1b8bb94c0612cf Wen Gong   2021-12-20  499  		arsta->txrate.flags = RATE_INFO_FLAGS_HE_MCS;
1b8bb94c0612cf Wen Gong   2021-12-20  500  		arsta->txrate.he_gi = ath11k_mac_he_gi_to_nl80211_he_gi(sgi);
1b8bb94c0612cf Wen Gong   2021-12-20  501  	}
1b8bb94c0612cf Wen Gong   2021-12-20  502  
1b8bb94c0612cf Wen Gong   2021-12-20  503  	arsta->txrate.bw = ath11k_mac_bw_to_mac80211_bw(bw);
1b8bb94c0612cf Wen Gong   2021-12-20  504  	if (ofdma && pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11AX) {
1b8bb94c0612cf Wen Gong   2021-12-20  505  		arsta->txrate.bw = RATE_INFO_BW_HE_RU;
1b8bb94c0612cf Wen Gong   2021-12-20  506  		arsta->txrate.he_ru_alloc =
1b8bb94c0612cf Wen Gong   2021-12-20  507  			ath11k_mac_he_ru_tones_to_nl80211_he_ru_alloc(ru_tones);
1b8bb94c0612cf Wen Gong   2021-12-20  508  	}
1b8bb94c0612cf Wen Gong   2021-12-20  509  
1b8bb94c0612cf Wen Gong   2021-12-20  510  	if (ath11k_debugfs_is_extd_tx_stats_enabled(ar))
1b8bb94c0612cf Wen Gong   2021-12-20 @511  		ath11k_debugfs_sta_add_tx_stats(arsta, peer_stats, rate_idx);
                                                                                                           ^^^^^^^^



1b8bb94c0612cf Wen Gong   2021-12-20  512  
1b8bb94c0612cf Wen Gong   2021-12-20  513  err_out:
1b8bb94c0612cf Wen Gong   2021-12-20  514  	spin_unlock_bh(&ab->base_lock);
1b8bb94c0612cf Wen Gong   2021-12-20  515  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [kvalo-ath:pending 8/17] drivers/net/wireless/ath/ath11k/dp_tx.c:511 ath11k_dp_tx_update_txcompl() error: uninitialized symbol 'rate_idx'.
Date: Thu, 23 Dec 2021 06:34:31 +0800	[thread overview]
Message-ID: <202112230637.BasxPV7i-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 8664 bytes --]

CC: kbuild-all(a)lists.01.org
CC: Kalle Valo <kvalo@codeaurora.org>
CC: ath10k(a)lists.infradead.org
CC: linux-kernel(a)vger.kernel.org
TO: Wen Gong <quic_wgong@quicinc.com>
CC: Kalle Valo <quic_kvalo@quicinc.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git pending
head:   c9a516b946c4b3ce25d422890ca78d0ca730b065
commit: 1b8bb94c0612cf32e418e90ae93cf37214d84669 [8/17] ath11k: report tx bitrate for iw wlan station dump
:::::: branch date: 16 hours ago
:::::: commit date: 2 days ago
config: microblaze-randconfig-m031-20211222 (https://download.01.org/0day-ci/archive/20211223/202112230637.BasxPV7i-lkp(a)intel.com/config)
compiler: microblaze-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/net/wireless/ath/ath11k/dp_tx.c:511 ath11k_dp_tx_update_txcompl() error: uninitialized symbol 'rate_idx'.

vim +/rate_idx +511 drivers/net/wireless/ath/ath11k/dp_tx.c

d5c65159f28953 Kalle Valo 2019-11-23  417  
1b8bb94c0612cf Wen Gong   2021-12-20  418  void ath11k_dp_tx_update_txcompl(struct ath11k *ar, struct hal_tx_status *ts)
1b8bb94c0612cf Wen Gong   2021-12-20  419  {
1b8bb94c0612cf Wen Gong   2021-12-20  420  	struct ath11k_base *ab = ar->ab;
1b8bb94c0612cf Wen Gong   2021-12-20  421  	struct ath11k_per_peer_tx_stats *peer_stats = &ar->cached_stats;
1b8bb94c0612cf Wen Gong   2021-12-20  422  	enum hal_tx_rate_stats_pkt_type pkt_type;
1b8bb94c0612cf Wen Gong   2021-12-20  423  	enum hal_tx_rate_stats_sgi sgi;
1b8bb94c0612cf Wen Gong   2021-12-20  424  	enum hal_tx_rate_stats_bw bw;
1b8bb94c0612cf Wen Gong   2021-12-20  425  	struct ath11k_peer *peer;
1b8bb94c0612cf Wen Gong   2021-12-20  426  	struct ath11k_sta *arsta;
1b8bb94c0612cf Wen Gong   2021-12-20  427  	struct ieee80211_sta *sta;
1b8bb94c0612cf Wen Gong   2021-12-20  428  	u16 rate, ru_tones;
1b8bb94c0612cf Wen Gong   2021-12-20  429  	u8 mcs, rate_idx, ofdma;
1b8bb94c0612cf Wen Gong   2021-12-20  430  	int ret;
1b8bb94c0612cf Wen Gong   2021-12-20  431  
1b8bb94c0612cf Wen Gong   2021-12-20  432  	spin_lock_bh(&ab->base_lock);
1b8bb94c0612cf Wen Gong   2021-12-20  433  	peer = ath11k_peer_find_by_id(ab, ts->peer_id);
1b8bb94c0612cf Wen Gong   2021-12-20  434  	if (!peer || !peer->sta) {
1b8bb94c0612cf Wen Gong   2021-12-20  435  		ath11k_dbg(ab, ATH11K_DBG_DP_TX,
1b8bb94c0612cf Wen Gong   2021-12-20  436  			   "failed to find the peer by id %u\n", ts->peer_id);
1b8bb94c0612cf Wen Gong   2021-12-20  437  		goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  438  	}
1b8bb94c0612cf Wen Gong   2021-12-20  439  
1b8bb94c0612cf Wen Gong   2021-12-20  440  	sta = peer->sta;
1b8bb94c0612cf Wen Gong   2021-12-20  441  	arsta = (struct ath11k_sta *)sta->drv_priv;
1b8bb94c0612cf Wen Gong   2021-12-20  442  
1b8bb94c0612cf Wen Gong   2021-12-20  443  	memset(&arsta->txrate, 0, sizeof(arsta->txrate));
1b8bb94c0612cf Wen Gong   2021-12-20  444  	pkt_type = FIELD_GET(HAL_TX_RATE_STATS_INFO0_PKT_TYPE,
1b8bb94c0612cf Wen Gong   2021-12-20  445  			     ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  446  	mcs = FIELD_GET(HAL_TX_RATE_STATS_INFO0_MCS,
1b8bb94c0612cf Wen Gong   2021-12-20  447  			ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  448  	sgi = FIELD_GET(HAL_TX_RATE_STATS_INFO0_SGI,
1b8bb94c0612cf Wen Gong   2021-12-20  449  			ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  450  	bw = FIELD_GET(HAL_TX_RATE_STATS_INFO0_BW, ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  451  	ru_tones = FIELD_GET(HAL_TX_RATE_STATS_INFO0_TONES_IN_RU, ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  452  	ofdma = FIELD_GET(HAL_TX_RATE_STATS_INFO0_OFDMA_TX, ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  453  
1b8bb94c0612cf Wen Gong   2021-12-20  454  	/* This is to prefer choose the real NSS value arsta->last_txrate.nss,
1b8bb94c0612cf Wen Gong   2021-12-20  455  	 * if it is invalid, then choose the NSS value while assoc.
1b8bb94c0612cf Wen Gong   2021-12-20  456  	 */
1b8bb94c0612cf Wen Gong   2021-12-20  457  	if (arsta->last_txrate.nss)
1b8bb94c0612cf Wen Gong   2021-12-20  458  		arsta->txrate.nss = arsta->last_txrate.nss;
1b8bb94c0612cf Wen Gong   2021-12-20  459  	else
1b8bb94c0612cf Wen Gong   2021-12-20  460  		arsta->txrate.nss = arsta->peer_nss;
1b8bb94c0612cf Wen Gong   2021-12-20  461  
1b8bb94c0612cf Wen Gong   2021-12-20  462  	if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11A ||
1b8bb94c0612cf Wen Gong   2021-12-20  463  	    pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11B) {
1b8bb94c0612cf Wen Gong   2021-12-20  464  		ret = ath11k_mac_hw_ratecode_to_legacy_rate(mcs,
1b8bb94c0612cf Wen Gong   2021-12-20  465  							    pkt_type,
1b8bb94c0612cf Wen Gong   2021-12-20  466  							    &rate_idx,
1b8bb94c0612cf Wen Gong   2021-12-20  467  							    &rate);
1b8bb94c0612cf Wen Gong   2021-12-20  468  		if (ret < 0)
1b8bb94c0612cf Wen Gong   2021-12-20  469  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  470  		arsta->txrate.legacy = rate;
1b8bb94c0612cf Wen Gong   2021-12-20  471  	} else if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11N) {
1b8bb94c0612cf Wen Gong   2021-12-20  472  		if (mcs > 7) {
1b8bb94c0612cf Wen Gong   2021-12-20  473  			ath11k_warn(ab, "Invalid HT mcs index %d\n", mcs);
1b8bb94c0612cf Wen Gong   2021-12-20  474  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  475  		}
1b8bb94c0612cf Wen Gong   2021-12-20  476  
1b8bb94c0612cf Wen Gong   2021-12-20  477  		if (arsta->txrate.nss != 0)
1b8bb94c0612cf Wen Gong   2021-12-20  478  			arsta->txrate.mcs = mcs + 8 * (arsta->txrate.nss - 1);
1b8bb94c0612cf Wen Gong   2021-12-20  479  		arsta->txrate.flags = RATE_INFO_FLAGS_MCS;
1b8bb94c0612cf Wen Gong   2021-12-20  480  		if (sgi)
1b8bb94c0612cf Wen Gong   2021-12-20  481  			arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI;
1b8bb94c0612cf Wen Gong   2021-12-20  482  	} else if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11AC) {
1b8bb94c0612cf Wen Gong   2021-12-20  483  		if (mcs > 9) {
1b8bb94c0612cf Wen Gong   2021-12-20  484  			ath11k_warn(ab, "Invalid VHT mcs index %d\n", mcs);
1b8bb94c0612cf Wen Gong   2021-12-20  485  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  486  		}
1b8bb94c0612cf Wen Gong   2021-12-20  487  
1b8bb94c0612cf Wen Gong   2021-12-20  488  		arsta->txrate.mcs = mcs;
1b8bb94c0612cf Wen Gong   2021-12-20  489  		arsta->txrate.flags = RATE_INFO_FLAGS_VHT_MCS;
1b8bb94c0612cf Wen Gong   2021-12-20  490  		if (sgi)
1b8bb94c0612cf Wen Gong   2021-12-20  491  			arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI;
1b8bb94c0612cf Wen Gong   2021-12-20  492  	} else if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11AX) {
1b8bb94c0612cf Wen Gong   2021-12-20  493  		if (mcs > 11) {
1b8bb94c0612cf Wen Gong   2021-12-20  494  			ath11k_warn(ab, "Invalid HE mcs index %d\n", mcs);
1b8bb94c0612cf Wen Gong   2021-12-20  495  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  496  		}
1b8bb94c0612cf Wen Gong   2021-12-20  497  
1b8bb94c0612cf Wen Gong   2021-12-20  498  		arsta->txrate.mcs = mcs;
1b8bb94c0612cf Wen Gong   2021-12-20  499  		arsta->txrate.flags = RATE_INFO_FLAGS_HE_MCS;
1b8bb94c0612cf Wen Gong   2021-12-20  500  		arsta->txrate.he_gi = ath11k_mac_he_gi_to_nl80211_he_gi(sgi);
1b8bb94c0612cf Wen Gong   2021-12-20  501  	}
1b8bb94c0612cf Wen Gong   2021-12-20  502  
1b8bb94c0612cf Wen Gong   2021-12-20  503  	arsta->txrate.bw = ath11k_mac_bw_to_mac80211_bw(bw);
1b8bb94c0612cf Wen Gong   2021-12-20  504  	if (ofdma && pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11AX) {
1b8bb94c0612cf Wen Gong   2021-12-20  505  		arsta->txrate.bw = RATE_INFO_BW_HE_RU;
1b8bb94c0612cf Wen Gong   2021-12-20  506  		arsta->txrate.he_ru_alloc =
1b8bb94c0612cf Wen Gong   2021-12-20  507  			ath11k_mac_he_ru_tones_to_nl80211_he_ru_alloc(ru_tones);
1b8bb94c0612cf Wen Gong   2021-12-20  508  	}
1b8bb94c0612cf Wen Gong   2021-12-20  509  
1b8bb94c0612cf Wen Gong   2021-12-20  510  	if (ath11k_debugfs_is_extd_tx_stats_enabled(ar))
1b8bb94c0612cf Wen Gong   2021-12-20 @511  		ath11k_debugfs_sta_add_tx_stats(arsta, peer_stats, rate_idx);
1b8bb94c0612cf Wen Gong   2021-12-20  512  
1b8bb94c0612cf Wen Gong   2021-12-20  513  err_out:
1b8bb94c0612cf Wen Gong   2021-12-20  514  	spin_unlock_bh(&ab->base_lock);
1b8bb94c0612cf Wen Gong   2021-12-20  515  }
1b8bb94c0612cf Wen Gong   2021-12-20  516  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: [kvalo-ath:pending 8/17] drivers/net/wireless/ath/ath11k/dp_tx.c:511 ath11k_dp_tx_update_txcompl() error: uninitialized symbol 'rate_idx'.
Date: Wed, 05 Jan 2022 17:49:29 +0300	[thread overview]
Message-ID: <202112230637.BasxPV7i-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 8459 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git pending
head:   c9a516b946c4b3ce25d422890ca78d0ca730b065
commit: 1b8bb94c0612cf32e418e90ae93cf37214d84669 [8/17] ath11k: report tx bitrate for iw wlan station dump
config: microblaze-randconfig-m031-20211222 (https://download.01.org/0day-ci/archive/20211223/202112230637.BasxPV7i-lkp(a)intel.com/config)
compiler: microblaze-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/net/wireless/ath/ath11k/dp_tx.c:511 ath11k_dp_tx_update_txcompl() error: uninitialized symbol 'rate_idx'.

vim +/rate_idx +511 drivers/net/wireless/ath/ath11k/dp_tx.c

1b8bb94c0612cf Wen Gong   2021-12-20  418  void ath11k_dp_tx_update_txcompl(struct ath11k *ar, struct hal_tx_status *ts)
1b8bb94c0612cf Wen Gong   2021-12-20  419  {
1b8bb94c0612cf Wen Gong   2021-12-20  420  	struct ath11k_base *ab = ar->ab;
1b8bb94c0612cf Wen Gong   2021-12-20  421  	struct ath11k_per_peer_tx_stats *peer_stats = &ar->cached_stats;
1b8bb94c0612cf Wen Gong   2021-12-20  422  	enum hal_tx_rate_stats_pkt_type pkt_type;
1b8bb94c0612cf Wen Gong   2021-12-20  423  	enum hal_tx_rate_stats_sgi sgi;
1b8bb94c0612cf Wen Gong   2021-12-20  424  	enum hal_tx_rate_stats_bw bw;
1b8bb94c0612cf Wen Gong   2021-12-20  425  	struct ath11k_peer *peer;
1b8bb94c0612cf Wen Gong   2021-12-20  426  	struct ath11k_sta *arsta;
1b8bb94c0612cf Wen Gong   2021-12-20  427  	struct ieee80211_sta *sta;
1b8bb94c0612cf Wen Gong   2021-12-20  428  	u16 rate, ru_tones;
1b8bb94c0612cf Wen Gong   2021-12-20  429  	u8 mcs, rate_idx, ofdma;
1b8bb94c0612cf Wen Gong   2021-12-20  430  	int ret;
1b8bb94c0612cf Wen Gong   2021-12-20  431  
1b8bb94c0612cf Wen Gong   2021-12-20  432  	spin_lock_bh(&ab->base_lock);
1b8bb94c0612cf Wen Gong   2021-12-20  433  	peer = ath11k_peer_find_by_id(ab, ts->peer_id);
1b8bb94c0612cf Wen Gong   2021-12-20  434  	if (!peer || !peer->sta) {
1b8bb94c0612cf Wen Gong   2021-12-20  435  		ath11k_dbg(ab, ATH11K_DBG_DP_TX,
1b8bb94c0612cf Wen Gong   2021-12-20  436  			   "failed to find the peer by id %u\n", ts->peer_id);
1b8bb94c0612cf Wen Gong   2021-12-20  437  		goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  438  	}
1b8bb94c0612cf Wen Gong   2021-12-20  439  
1b8bb94c0612cf Wen Gong   2021-12-20  440  	sta = peer->sta;
1b8bb94c0612cf Wen Gong   2021-12-20  441  	arsta = (struct ath11k_sta *)sta->drv_priv;
1b8bb94c0612cf Wen Gong   2021-12-20  442  
1b8bb94c0612cf Wen Gong   2021-12-20  443  	memset(&arsta->txrate, 0, sizeof(arsta->txrate));
1b8bb94c0612cf Wen Gong   2021-12-20  444  	pkt_type = FIELD_GET(HAL_TX_RATE_STATS_INFO0_PKT_TYPE,
1b8bb94c0612cf Wen Gong   2021-12-20  445  			     ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  446  	mcs = FIELD_GET(HAL_TX_RATE_STATS_INFO0_MCS,
1b8bb94c0612cf Wen Gong   2021-12-20  447  			ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  448  	sgi = FIELD_GET(HAL_TX_RATE_STATS_INFO0_SGI,
1b8bb94c0612cf Wen Gong   2021-12-20  449  			ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  450  	bw = FIELD_GET(HAL_TX_RATE_STATS_INFO0_BW, ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  451  	ru_tones = FIELD_GET(HAL_TX_RATE_STATS_INFO0_TONES_IN_RU, ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  452  	ofdma = FIELD_GET(HAL_TX_RATE_STATS_INFO0_OFDMA_TX, ts->rate_stats);
1b8bb94c0612cf Wen Gong   2021-12-20  453  
1b8bb94c0612cf Wen Gong   2021-12-20  454  	/* This is to prefer choose the real NSS value arsta->last_txrate.nss,
1b8bb94c0612cf Wen Gong   2021-12-20  455  	 * if it is invalid, then choose the NSS value while assoc.
1b8bb94c0612cf Wen Gong   2021-12-20  456  	 */
1b8bb94c0612cf Wen Gong   2021-12-20  457  	if (arsta->last_txrate.nss)
1b8bb94c0612cf Wen Gong   2021-12-20  458  		arsta->txrate.nss = arsta->last_txrate.nss;
1b8bb94c0612cf Wen Gong   2021-12-20  459  	else
1b8bb94c0612cf Wen Gong   2021-12-20  460  		arsta->txrate.nss = arsta->peer_nss;
1b8bb94c0612cf Wen Gong   2021-12-20  461  
1b8bb94c0612cf Wen Gong   2021-12-20  462  	if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11A ||
1b8bb94c0612cf Wen Gong   2021-12-20  463  	    pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11B) {
1b8bb94c0612cf Wen Gong   2021-12-20  464  		ret = ath11k_mac_hw_ratecode_to_legacy_rate(mcs,
1b8bb94c0612cf Wen Gong   2021-12-20  465  							    pkt_type,
1b8bb94c0612cf Wen Gong   2021-12-20  466  							    &rate_idx,
1b8bb94c0612cf Wen Gong   2021-12-20  467  							    &rate);
1b8bb94c0612cf Wen Gong   2021-12-20  468  		if (ret < 0)
1b8bb94c0612cf Wen Gong   2021-12-20  469  			goto err_out;

"rate_idx" not initialized on other paths.

1b8bb94c0612cf Wen Gong   2021-12-20  470  		arsta->txrate.legacy = rate;
1b8bb94c0612cf Wen Gong   2021-12-20  471  	} else if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11N) {
1b8bb94c0612cf Wen Gong   2021-12-20  472  		if (mcs > 7) {
1b8bb94c0612cf Wen Gong   2021-12-20  473  			ath11k_warn(ab, "Invalid HT mcs index %d\n", mcs);
1b8bb94c0612cf Wen Gong   2021-12-20  474  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  475  		}
1b8bb94c0612cf Wen Gong   2021-12-20  476  
1b8bb94c0612cf Wen Gong   2021-12-20  477  		if (arsta->txrate.nss != 0)
1b8bb94c0612cf Wen Gong   2021-12-20  478  			arsta->txrate.mcs = mcs + 8 * (arsta->txrate.nss - 1);
1b8bb94c0612cf Wen Gong   2021-12-20  479  		arsta->txrate.flags = RATE_INFO_FLAGS_MCS;
1b8bb94c0612cf Wen Gong   2021-12-20  480  		if (sgi)
1b8bb94c0612cf Wen Gong   2021-12-20  481  			arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI;
1b8bb94c0612cf Wen Gong   2021-12-20  482  	} else if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11AC) {
1b8bb94c0612cf Wen Gong   2021-12-20  483  		if (mcs > 9) {
1b8bb94c0612cf Wen Gong   2021-12-20  484  			ath11k_warn(ab, "Invalid VHT mcs index %d\n", mcs);
1b8bb94c0612cf Wen Gong   2021-12-20  485  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  486  		}
1b8bb94c0612cf Wen Gong   2021-12-20  487  
1b8bb94c0612cf Wen Gong   2021-12-20  488  		arsta->txrate.mcs = mcs;
1b8bb94c0612cf Wen Gong   2021-12-20  489  		arsta->txrate.flags = RATE_INFO_FLAGS_VHT_MCS;
1b8bb94c0612cf Wen Gong   2021-12-20  490  		if (sgi)
1b8bb94c0612cf Wen Gong   2021-12-20  491  			arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI;
1b8bb94c0612cf Wen Gong   2021-12-20  492  	} else if (pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11AX) {
1b8bb94c0612cf Wen Gong   2021-12-20  493  		if (mcs > 11) {
1b8bb94c0612cf Wen Gong   2021-12-20  494  			ath11k_warn(ab, "Invalid HE mcs index %d\n", mcs);
1b8bb94c0612cf Wen Gong   2021-12-20  495  			goto err_out;
1b8bb94c0612cf Wen Gong   2021-12-20  496  		}
1b8bb94c0612cf Wen Gong   2021-12-20  497  
1b8bb94c0612cf Wen Gong   2021-12-20  498  		arsta->txrate.mcs = mcs;
1b8bb94c0612cf Wen Gong   2021-12-20  499  		arsta->txrate.flags = RATE_INFO_FLAGS_HE_MCS;
1b8bb94c0612cf Wen Gong   2021-12-20  500  		arsta->txrate.he_gi = ath11k_mac_he_gi_to_nl80211_he_gi(sgi);
1b8bb94c0612cf Wen Gong   2021-12-20  501  	}
1b8bb94c0612cf Wen Gong   2021-12-20  502  
1b8bb94c0612cf Wen Gong   2021-12-20  503  	arsta->txrate.bw = ath11k_mac_bw_to_mac80211_bw(bw);
1b8bb94c0612cf Wen Gong   2021-12-20  504  	if (ofdma && pkt_type == HAL_TX_RATE_STATS_PKT_TYPE_11AX) {
1b8bb94c0612cf Wen Gong   2021-12-20  505  		arsta->txrate.bw = RATE_INFO_BW_HE_RU;
1b8bb94c0612cf Wen Gong   2021-12-20  506  		arsta->txrate.he_ru_alloc =
1b8bb94c0612cf Wen Gong   2021-12-20  507  			ath11k_mac_he_ru_tones_to_nl80211_he_ru_alloc(ru_tones);
1b8bb94c0612cf Wen Gong   2021-12-20  508  	}
1b8bb94c0612cf Wen Gong   2021-12-20  509  
1b8bb94c0612cf Wen Gong   2021-12-20  510  	if (ath11k_debugfs_is_extd_tx_stats_enabled(ar))
1b8bb94c0612cf Wen Gong   2021-12-20 @511  		ath11k_debugfs_sta_add_tx_stats(arsta, peer_stats, rate_idx);
                                                                                                           ^^^^^^^^



1b8bb94c0612cf Wen Gong   2021-12-20  512  
1b8bb94c0612cf Wen Gong   2021-12-20  513  err_out:
1b8bb94c0612cf Wen Gong   2021-12-20  514  	spin_unlock_bh(&ab->base_lock);
1b8bb94c0612cf Wen Gong   2021-12-20  515  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

             reply	other threads:[~2022-01-05 14:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-22 22:34 kernel test robot [this message]
2022-01-05 14:49 ` [kvalo-ath:pending 8/17] drivers/net/wireless/ath/ath11k/dp_tx.c:511 ath11k_dp_tx_update_txcompl() error: uninitialized symbol 'rate_idx' Dan Carpenter
2022-01-05 14:49 ` Dan Carpenter
2022-01-05 14:49 ` Dan Carpenter
2022-01-11 13:41 ` Kalle Valo
2022-01-11 13:41   ` Kalle Valo
2022-01-11 13:41   ` Kalle Valo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202112230637.BasxPV7i-lkp@intel.com \
    --to=dan.carpenter@oracle.com \
    --cc=ath10k@lists.infradead.org \
    --cc=kbuild-all@lists.01.org \
    --cc=kbuild@lists.01.org \
    --cc=kvalo@codeaurora.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=quic_kvalo@quicinc.com \
    --cc=quic_wgong@quicinc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.