diff options
author | Felix Fietkau <nbd@nbd.name> | 2019-01-21 17:33:38 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2019-01-22 16:37:35 +0100 |
commit | d225581df3147060bc99e931b11f7cf2dcb1b2ca (patch) | |
tree | 635f12853638a2c581cacc24f7ff9142dba189c5 | |
parent | 68f7030f2d5f9592fcae405296376073eff69cbd (diff) | |
download | linux-d225581df3147060bc99e931b11f7cf2dcb1b2ca.tar.bz2 |
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
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/tx.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/tx.c b/drivers/net/wireless/mediatek/mt76/tx.c index 1ea08ce62713..ef38e8626da9 100644 --- a/drivers/net/wireless/mediatek/mt76/tx.c +++ b/drivers/net/wireless/mediatek/mt76/tx.c @@ -396,6 +396,11 @@ mt76_txq_send_burst(struct mt76_dev *dev, struct mt76_queue *hwq, bool probe; int idx; + if (test_bit(MT_WCID_FLAG_PS, &wcid->flags)) { + *empty = true; + return 0; + } + skb = mt76_txq_dequeue(dev, mtxq, false); if (!skb) { *empty = true; |