Bugs in wake-queue logic.

Janusz Dziedzic janusz.dziedzic at tieto.com
Thu Dec 3 22:11:40 PST 2015


On 4 December 2015 at 07:06, Janusz Dziedzic <janusz.dziedzic at tieto.com> wrote:
> On 3 December 2015 at 20:52, Ben Greear <greearb at candelatech.com> wrote:
>> So, after tweaking a firmware image to actually be able to use
>> all tx-buffers, then queues can actually be stopped on the host
>> now.
>>
>> I'm now getting splats related to tx-queue being
>> out of range.
>>
>> Why are we using vdev_id as the queue-id below?
>>
> This is comment in the code:
>
>         /* Using vdev_id as queue number will make it very easy to do per-vif
>          * tx queue locking. This shouldn't wrap due to interface combinations
>          * but do a modulo for correctness sake and prevent using offchannel tx
>          * queues for regular vif tx.
>          */
>
BTW, I think Michal will send soon "new" design for that because of
MU-MIMO implementation.


> BR
> Janusz
>
>> void ath10k_mac_vif_tx_unlock(struct ath10k_vif *arvif, int reason)
>> {
>>         struct ath10k *ar = arvif->ar;
>>
>>         lockdep_assert_held(&ar->htt.tx_lock);
>>
>>         WARN_ON(reason >= BITS_PER_LONG);
>>         arvif->tx_paused &= ~BIT(reason);
>>
>>         if (ar->tx_paused)
>>                 return;
>>
>>         if (arvif->tx_paused)
>>                 return;
>>
>>         ieee80211_wake_queue(ar->hw, arvif->vdev_id);
>> }
>>
>>
>> Thanks,
>> Ben
>>
>> --
>> Ben Greear <greearb at candelatech.com>
>> Candela Technologies Inc  http://www.candelatech.com
>>
>>
>> _______________________________________________
>> ath10k mailing list
>> ath10k at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/ath10k



More information about the ath10k mailing list