[Cerowrt-devel] Fwd: [bug #442] ath9k queue hang

Dave Taht dave.taht at gmail.com
Wed Apr 16 13:38:34 EDT 2014


On Wed, Apr 16, 2014 at 10:25 AM, Robert Bradley
<robert.bradley1 at gmail.com> wrote:
> On 16/04/2014 18:00, Dave Taht wrote:
>> should I have said "de-protected"? in
>>
>> linux-3.14/drivers/net/wireless/ath/ath9k/xmit.c
> <snip>
>>         if (info->flags & IEEE80211_TX_CTL_PS_RESPONSE) {
>>                 ath_txq_unlock(sc, txq);
>>                 txq = sc->tx.uapsdq;
>> ^^^^^^
>>                 ath_txq_lock(sc, txq);
>>         } else if (txctl->an &&
>>
>
> Isn't the point here that you're potentially switching txq and so need
> to unlock the old one and then lock the new one?

But it's happening after incrementing the old one and potentially stopping it...

My take on this bit of code is that it needs to happen before the increment
and potental stop, and it should validate the value of tx.uapsdq.

but I am by no means the expert here! Felix is da man....

>
> --
> Robert Bradley
>
>
>
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>



-- 
Dave Täht

NSFW: https://w2.eff.org/Censorship/Internet_censorship_bills/russell_0296_indecent.article



More information about the Cerowrt-devel mailing list