Re: [PATCH wireless 2/5] wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled

Michael Büsch
2023-12-30T13:41:09Z

[-- Attachment #1: Type: text/plain, Size: 1046 bytes --]

On Sat, 30 Dec 2023 18:48:45 +1100
Julian Calaby <julian.calaby@gmail.com> wrote:
> > --- a/drivers/net/wireless/broadcom/b43/dma.c
> > +++ b/drivers/net/wireless/broadcom/b43/dma.c
> > @@ -1399,7 +1399,10 @@ int b43_dma_tx(struct b43_wldev *dev, struct sk_buff *skb)
> > should_inject_overflow(ring)) {
> > /* This TX ring is full. */
> > unsigned int skb_mapping = skb_get_queue_mapping(skb);
> > - ieee80211_stop_queue(dev->wl->hw, skb_mapping);
> > + if (dev->qos_enabled)
> > + ieee80211_stop_queue(dev->wl->hw, skb_mapping);
> > + else
> > + ieee80211_stop_queue(dev->wl->hw, 0);
>
> Would this be a little cleaner if we only look up the queue mapping if
> QOS is enabled? I.e.

No. It would break the other uses of skb_mapping.

But I am wondering why skb_mapping is non-zero in the first place.
I think the actual bug might be somewhere else.

--
Michael Büsch
https://bues.ch/

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]