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