> 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

Reply via email to