On Wed, May 18, 2022 at 10:30 AM Kalle Valo <kvalo@xxxxxxxxxx> wrote: > Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> writes: >> On Mon, May 16, 2022 at 6:25 AM Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> wrote: >>> --- a/drivers/net/wireless/ath/ath10k/txrx.c >>> +++ b/drivers/net/wireless/ath/ath10k/txrx.c >>> @@ -43,6 +43,7 @@ static void ath10k_report_offchan_tx(struct ath10k *ar, struct sk_buff *skb) >>> int ath10k_txrx_tx_unref(struct ath10k_htt *htt, >>> const struct htt_tx_done *tx_done) >>> { >>> + struct ieee80211_tx_status status; >>> struct ath10k *ar = htt->ar; >>> struct device *dev = ar->dev; >>> struct ieee80211_tx_info *info; >>> @@ -128,7 +129,16 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt, >>> info->status.flags |= IEEE80211_TX_STATUS_ACK_SIGNAL_VALID; >>> } >>> >>> - ieee80211_tx_status(htt->ar->hw, msdu); >>> + memset(&status, 0, sizeof(status)); >>> + status.skb = msdu; >>> + status.info = info; >>> + >>> + rcu_read_lock(); >>> + if (txq && txq->sta) >>> + status.sta = txq->sta; >> >> Just noticed that since we do not dereference the txq->sta pointer >> here, the above code can be simplified to: >> >> if (txq) >> status.sta = txq->sta; >> >> Kalle, should I send V2 or can you change this in your tree? > > I changed this in the pending branch, please check my changes: > > https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=1bd0c16e10229683fab1dd8adf8c4339992688b7 Exactly what I meant. Thank you! -- Sergey