On Thu, Aug 22, 2019 at 01:50:52PM +0200, Lorenzo Bianconi wrote:
> > On Thu, Aug 22, 2019 at 11:49:10AM +0200, Lorenzo Bianconi wrote:
> > > Remove empty flag in mt76_txq_schedule_list and mt76_txq_send_burst
> > > since we just need retry_q length to notify mac80211 to reschedule the
> > > current tx queue
> > > 
> > > Signed-off-by: Lorenzo Bianconi <[email protected]>
> > > ---
> > >  drivers/net/wireless/mediatek/mt76/tx.c | 23 +++++++----------------
> > >  1 file changed, 7 insertions(+), 16 deletions(-)
> > > 
> > > diff --git a/drivers/net/wireless/mediatek/mt76/tx.c 
> > > b/drivers/net/wireless/mediatek/mt76/tx.c
> > > index d7982aa83c11..51d69329ed06 100644
> > > --- a/drivers/net/wireless/mediatek/mt76/tx.c
> > > +++ b/drivers/net/wireless/mediatek/mt76/tx.c
> > > @@ -378,7 +378,7 @@ EXPORT_SYMBOL_GPL(mt76_release_buffered_frames);
> > >  
> > >  static int
> > >  mt76_txq_send_burst(struct mt76_dev *dev, struct mt76_sw_queue *sq,
> > > -             struct mt76_txq *mtxq, bool *empty)
> > > +             struct mt76_txq *mtxq)
> > >  {
> > >   struct ieee80211_txq *txq = mtxq_to_txq(mtxq);
> > >   enum mt76_txq_id qid = mt76_txq_get_qid(txq);
> > > @@ -392,16 +392,12 @@ mt76_txq_send_burst(struct mt76_dev *dev, struct 
> > > mt76_sw_queue *sq,
> > >   bool probe;
> > >   int idx;
> > >  
> > > - if (test_bit(MT_WCID_FLAG_PS, &wcid->flags)) {
> > > -         *empty = true;
> > > + if (test_bit(MT_WCID_FLAG_PS, &wcid->flags))
> > >           return 0;
> > 
> > This changes behaviour for station in PS state. If retry_q is not
> > empty, now we will be rescheduling tx queue for STA in PS mode.
> > Not sure if this is problem or not, though.
> 
> good point..looking at the code it seems not a issue since we will not 
> actually
> tx frames for PS stations. What do you think?

I do not see how changing this could possibly break things, but it 
was explicitly added by below commit, with changelog sugesting it is
needed:

commit d225581df3147060bc99e931b11f7cf2dcb1b2ca
Author: Felix Fietkau <[email protected]>
Date:   Mon Jan 21 17:33:38 2019 +0100

    mt76: avoid scheduling tx queues for powersave stations
    
    In case a tx queue wake call arrives after a client has transitioned to
    powersave, make sure that the queue is not kept active until the client
    has left powersave mode

Stanislaw

Reply via email to