[PATCH 1/4] ath10k: improve tx status reporting

Sergey Ryazanov ryazanov.s.a at gmail.com
Wed May 18 03:57:06 PDT 2022


On Wed, May 18, 2022 at 10:30 AM Kalle Valo <kvalo at kernel.org> wrote:
> Sergey Ryazanov <ryazanov.s.a at gmail.com> writes:
>> On Mon, May 16, 2022 at 6:25 AM Sergey Ryazanov <ryazanov.s.a at gmail.com> 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



More information about the ath10k mailing list