> On Wed, Feb 27, 2019 at 10:40:41PM +0100, Lorenzo Bianconi wrote: > > @@ -289,9 +290,14 @@ mt76_tx(struct mt76_dev *dev, struct ieee80211_sta *sta, > > dev->queue_ops->tx_queue_skb(dev, q, skb, wcid, sta); > > dev->queue_ops->kick(dev, q); > > > > - if (q->queued > q->ndesc - 8) > > - ieee80211_stop_queue(dev->hw, skb_get_queue_mapping(skb)); > > + stop = q->queued > q->ndesc - 8 && !q->stopped; > > + if (stop) > > + q->stopped = true; > > + > > spin_unlock_bh(&q->lock); > > + > > + if (stop) > > + ieee80211_stop_queue(dev->hw, skb_get_queue_mapping(skb)); > > I don't think taking this outside of spin_lock section is beneficial. > Actually is better to do this faster than slower to prevent enqueue > frames by mac80211 and then dropped them due to lack of space in > mt76 queue. ack, I will send a v2 moving it back. Regards, Lorenzo > > Stanislaw
Attachment:
signature.asc
Description: PGP signature