Bugs in wake-queue logic.
Janusz Dziedzic
janusz.dziedzic at tieto.com
Thu Dec 3 22:06:44 PST 2015
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.
*/
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