summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2019-01-21 17:33:38 +0100
committerFelix Fietkau <nbd@nbd.name>2019-01-22 16:37:35 +0100
commitd225581df3147060bc99e931b11f7cf2dcb1b2ca (patch)
tree635f12853638a2c581cacc24f7ff9142dba189c5
parent68f7030f2d5f9592fcae405296376073eff69cbd (diff)
downloadlinux-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.c5
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;