diff options
author | Lorenzo Bianconi <lorenzo@kernel.org> | 2020-02-15 11:31:31 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2020-03-17 17:13:58 +0100 |
commit | 44e8f8efd926a5dd75727e1c39e2a0ae968ff3cd (patch) | |
tree | a1d4282c00b796e64228b900aec1398c95e9cb92 /drivers/net/wireless | |
parent | 377c0a94ad1cf005c47d7a502d1f8e46fbcf747a (diff) |
mt76: mt76u: loop over all possible rx queues in mt76u_rx_tasklet
Loop over all possible hw rx queues in mt76u_rx_tasklet since new
devices will report mcu events through mcu hw queue
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/usb.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/usb.c b/drivers/net/wireless/mediatek/mt76/usb.c index 36ba81d63f12..fffa12cbb3e3 100644 --- a/drivers/net/wireless/mediatek/mt76/usb.c +++ b/drivers/net/wireless/mediatek/mt76/usb.c @@ -672,10 +672,17 @@ mt76u_process_rx_queue(struct mt76_dev *dev, struct mt76_queue *q) static void mt76u_rx_tasklet(unsigned long data) { struct mt76_dev *dev = (struct mt76_dev *)data; - struct mt76_queue *q = &dev->q_rx[MT_RXQ_MAIN]; + struct mt76_queue *q; + int i; rcu_read_lock(); - mt76u_process_rx_queue(dev, q); + for (i = 0; i < __MT_RXQ_MAX; i++) { + q = &dev->q_rx[i]; + if (!q->ndesc) + continue; + + mt76u_process_rx_queue(dev, q); + } rcu_read_unlock(); } |