From 6b1e64bf0e10f7cd21fe2afb3ab4d5bb14873983 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 25 Feb 2016 21:01:11 +0100 Subject: [PATCH] mt7603: clean up beacon/cab queue in pre-tbtt tasklet Signed-off-by: Felix Fietkau --- mt7603_beacon.c | 3 +++ mt7603_dma.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mt7603_beacon.c b/mt7603_beacon.c index 10f76d30..e914542a 100644 --- a/mt7603_beacon.c +++ b/mt7603_beacon.c @@ -107,6 +107,9 @@ void mt7603_pre_tbtt_tasklet(unsigned long arg) } mt76_queue_kick(dev, q); spin_unlock_bh(&q->lock); + + mt76_queue_tx_cleanup(dev, &dev->mt76.q_tx[MT_TXQ_BEACON], false); + mt76_queue_tx_cleanup(dev, &dev->mt76.q_tx[MT_TXQ_CAB], false); } void mt7603_beacon_set_timer(struct mt7603_dev *dev, int idx, int intval) diff --git a/mt7603_dma.c b/mt7603_dma.c index 396473b4..24208b3d 100644 --- a/mt7603_dma.c +++ b/mt7603_dma.c @@ -113,7 +113,7 @@ mt7603_tx_tasklet(unsigned long data) struct mt7603_dev *dev = (struct mt7603_dev *) data; int i; - for (i = ARRAY_SIZE(dev->mt76.q_tx) - 1; i >= 0; i--) + for (i = MT_TXQ_MCU; i >= 0; i--) mt76_queue_tx_cleanup(dev, &dev->mt76.q_tx[i], false); mt7603_irq_enable(dev, MT_INT_TX_DONE_ALL);