Search Linux Wireless

Re: [PATCH v3 1/2] mac80211: extend current rate control tx status API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jonas,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on wireless/main]
[also build test ERROR on v5.18-rc5]
[cannot apply to wireless-next/main next-20220506]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/intel-lab-lkp/linux/commits/Jonas-Jelonek/mac80211-extend-current-rate-control-tx-status-API/20220508-231356
base:   https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless.git main
config: i386-randconfig-a005 (https://download.01.org/0day-ci/archive/20220509/202205090141.egLK4ZdI-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/4241dcd99dd1ea39739668850806abcd249f8535
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Jonas-Jelonek/mac80211-extend-current-rate-control-tx-status-API/20220508-231356
        git checkout 4241dcd99dd1ea39739668850806abcd249f8535
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/net/wireless/ath/ath11k/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   drivers/net/wireless/ath/ath11k/dp_tx.c: In function 'ath11k_dp_tx_complete_msdu':
>> drivers/net/wireless/ath/ath11k/dp_tx.c:606:16: error: 'struct ieee80211_tx_status' has no member named 'rate'; did you mean 'rates'?
     606 |         status.rate = &rate;
         |                ^~~~
         |                rates


vim +606 drivers/net/wireless/ath/ath11k/dp_tx.c

1b8bb94c0612cf Wen Gong               2021-12-20  517  
d5c65159f28953 Kalle Valo             2019-11-23  518  static void ath11k_dp_tx_complete_msdu(struct ath11k *ar,
d5c65159f28953 Kalle Valo             2019-11-23  519  				       struct sk_buff *msdu,
d5c65159f28953 Kalle Valo             2019-11-23  520  				       struct hal_tx_status *ts)
d5c65159f28953 Kalle Valo             2019-11-23  521  {
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  522  	struct ieee80211_tx_status status = { 0 };
d5c65159f28953 Kalle Valo             2019-11-23  523  	struct ath11k_base *ab = ar->ab;
d5c65159f28953 Kalle Valo             2019-11-23  524  	struct ieee80211_tx_info *info;
d5c65159f28953 Kalle Valo             2019-11-23  525  	struct ath11k_skb_cb *skb_cb;
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  526  	struct ath11k_peer *peer;
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  527  	struct ath11k_sta *arsta;
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  528  	struct rate_info rate;
d5c65159f28953 Kalle Valo             2019-11-23  529  
d5c65159f28953 Kalle Valo             2019-11-23  530  	if (WARN_ON_ONCE(ts->buf_rel_source != HAL_WBM_REL_SRC_MODULE_TQM)) {
d5c65159f28953 Kalle Valo             2019-11-23  531  		/* Must not happen */
d5c65159f28953 Kalle Valo             2019-11-23  532  		return;
d5c65159f28953 Kalle Valo             2019-11-23  533  	}
d5c65159f28953 Kalle Valo             2019-11-23  534  
d5c65159f28953 Kalle Valo             2019-11-23  535  	skb_cb = ATH11K_SKB_CB(msdu);
d5c65159f28953 Kalle Valo             2019-11-23  536  
d5c65159f28953 Kalle Valo             2019-11-23  537  	dma_unmap_single(ab->dev, skb_cb->paddr, msdu->len, DMA_TO_DEVICE);
d5c65159f28953 Kalle Valo             2019-11-23  538  
bcef57ea400cc2 P Praneesh             2021-11-12  539  	if (unlikely(!rcu_access_pointer(ab->pdevs_active[ar->pdev_idx]))) {
d5c65159f28953 Kalle Valo             2019-11-23  540  		dev_kfree_skb_any(msdu);
bcef57ea400cc2 P Praneesh             2021-11-12  541  		return;
d5c65159f28953 Kalle Valo             2019-11-23  542  	}
d5c65159f28953 Kalle Valo             2019-11-23  543  
bcef57ea400cc2 P Praneesh             2021-11-12  544  	if (unlikely(!skb_cb->vif)) {
d5c65159f28953 Kalle Valo             2019-11-23  545  		dev_kfree_skb_any(msdu);
bcef57ea400cc2 P Praneesh             2021-11-12  546  		return;
d5c65159f28953 Kalle Valo             2019-11-23  547  	}
d5c65159f28953 Kalle Valo             2019-11-23  548  
d5c65159f28953 Kalle Valo             2019-11-23  549  	info = IEEE80211_SKB_CB(msdu);
d5c65159f28953 Kalle Valo             2019-11-23  550  	memset(&info->status, 0, sizeof(info->status));
d5c65159f28953 Kalle Valo             2019-11-23  551  
d5c65159f28953 Kalle Valo             2019-11-23  552  	/* skip tx rate update from ieee80211_status*/
d5c65159f28953 Kalle Valo             2019-11-23  553  	info->status.rates[0].idx = -1;
d5c65159f28953 Kalle Valo             2019-11-23  554  
d5c65159f28953 Kalle Valo             2019-11-23  555  	if (ts->status == HAL_WBM_TQM_REL_REASON_FRAME_ACKED &&
d5c65159f28953 Kalle Valo             2019-11-23  556  	    !(info->flags & IEEE80211_TX_CTL_NO_ACK)) {
d5c65159f28953 Kalle Valo             2019-11-23  557  		info->flags |= IEEE80211_TX_STAT_ACK;
d5c65159f28953 Kalle Valo             2019-11-23  558  		info->status.ack_signal = ATH11K_DEFAULT_NOISE_FLOOR +
d5c65159f28953 Kalle Valo             2019-11-23  559  					  ts->ack_rssi;
ea5907db2a9ccf Avraham Stern          2022-02-02  560  		info->status.flags |= IEEE80211_TX_STATUS_ACK_SIGNAL_VALID;
d5c65159f28953 Kalle Valo             2019-11-23  561  	}
d5c65159f28953 Kalle Valo             2019-11-23  562  
d5c65159f28953 Kalle Valo             2019-11-23  563  	if (ts->status == HAL_WBM_TQM_REL_REASON_CMD_REMOVE_TX &&
d5c65159f28953 Kalle Valo             2019-11-23  564  	    (info->flags & IEEE80211_TX_CTL_NO_ACK))
d5c65159f28953 Kalle Valo             2019-11-23  565  		info->flags |= IEEE80211_TX_STAT_NOACK_TRANSMITTED;
d5c65159f28953 Kalle Valo             2019-11-23  566  
1b8bb94c0612cf Wen Gong               2021-12-20  567  	if (unlikely(ath11k_debugfs_is_extd_tx_stats_enabled(ar)) ||
1b8bb94c0612cf Wen Gong               2021-12-20  568  	    ab->hw_params.single_pdev_only) {
d5c65159f28953 Kalle Valo             2019-11-23  569  		if (ts->flags & HAL_TX_STATUS_FLAGS_FIRST_MSDU) {
d5c65159f28953 Kalle Valo             2019-11-23  570  			if (ar->last_ppdu_id == 0) {
d5c65159f28953 Kalle Valo             2019-11-23  571  				ar->last_ppdu_id = ts->ppdu_id;
d5c65159f28953 Kalle Valo             2019-11-23  572  			} else if (ar->last_ppdu_id == ts->ppdu_id ||
d5c65159f28953 Kalle Valo             2019-11-23  573  				   ar->cached_ppdu_id == ar->last_ppdu_id) {
d5c65159f28953 Kalle Valo             2019-11-23  574  				ar->cached_ppdu_id = ar->last_ppdu_id;
d5c65159f28953 Kalle Valo             2019-11-23  575  				ar->cached_stats.is_ampdu = true;
1b8bb94c0612cf Wen Gong               2021-12-20  576  				ath11k_dp_tx_update_txcompl(ar, ts);
d5c65159f28953 Kalle Valo             2019-11-23  577  				memset(&ar->cached_stats, 0,
d5c65159f28953 Kalle Valo             2019-11-23  578  				       sizeof(struct ath11k_per_peer_tx_stats));
d5c65159f28953 Kalle Valo             2019-11-23  579  			} else {
d5c65159f28953 Kalle Valo             2019-11-23  580  				ar->cached_stats.is_ampdu = false;
1b8bb94c0612cf Wen Gong               2021-12-20  581  				ath11k_dp_tx_update_txcompl(ar, ts);
d5c65159f28953 Kalle Valo             2019-11-23  582  				memset(&ar->cached_stats, 0,
d5c65159f28953 Kalle Valo             2019-11-23  583  				       sizeof(struct ath11k_per_peer_tx_stats));
d5c65159f28953 Kalle Valo             2019-11-23  584  			}
d5c65159f28953 Kalle Valo             2019-11-23  585  			ar->last_ppdu_id = ts->ppdu_id;
d5c65159f28953 Kalle Valo             2019-11-23  586  		}
d5c65159f28953 Kalle Valo             2019-11-23  587  
d5c65159f28953 Kalle Valo             2019-11-23  588  		ath11k_dp_tx_cache_peer_stats(ar, msdu, ts);
d5c65159f28953 Kalle Valo             2019-11-23  589  	}
d5c65159f28953 Kalle Valo             2019-11-23  590  
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  591  	spin_lock_bh(&ab->base_lock);
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  592  	peer = ath11k_peer_find_by_id(ab, ts->peer_id);
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  593  	if (!peer || !peer->sta) {
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  594  		ath11k_dbg(ab, ATH11K_DBG_DATA,
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  595  			   "dp_tx: failed to find the peer with peer_id %d\n",
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  596  			    ts->peer_id);
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  597  		spin_unlock_bh(&ab->base_lock);
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  598  		dev_kfree_skb_any(msdu);
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  599  		return;
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  600  	}
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  601  	arsta = (struct ath11k_sta *)peer->sta->drv_priv;
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  602  	status.sta = peer->sta;
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  603  	status.skb = msdu;
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  604  	status.info = info;
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  605  	rate = arsta->last_txrate;
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16 @606  	status.rate = &rate;
d5c65159f28953 Kalle Valo             2019-11-23  607  
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  608  	spin_unlock_bh(&ab->base_lock);
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  609  
94739d45c388c5 Pradeep Kumar Chitrapu 2022-02-16  610  	ieee80211_tx_status_ext(ar->hw, &status);
d5c65159f28953 Kalle Valo             2019-11-23  611  }
d5c65159f28953 Kalle Valo             2019-11-23  612  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux