On Sat, 30 Dec 2023 18:48:45 +1100 Julian Calaby <julian.calaby@xxxxxxxxx> 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:
pgp1uGOoo48qH.pgp
Description: OpenPGP digital signature