mt76: mt7615/mt7915: do reset_work with mt76's work queue
authorBo Jiao <Bo.Jiao@mediatek.com>
Sat, 7 May 2022 01:21:21 +0000 (09:21 +0800)
committerFelix Fietkau <nbd@nbd.name>
Fri, 13 May 2022 07:39:35 +0000 (09:39 +0200)
reset_work may be blocked when mcu message timeout occurs

Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/mmio.c
drivers/net/wireless/mediatek/mt76/mt7915/mmio.c

index ce45c3bfc443e8ee7ff8972eb3cdbc57ece0245c..a208035e197ae2042eb939dbfb96da717aaeae0d 100644 (file)
@@ -145,7 +145,7 @@ static void mt7615_irq_tasklet(struct tasklet_struct *t)
                return;
 
        dev->reset_state = mcu_int;
-       ieee80211_queue_work(mt76_hw(dev), &dev->reset_work);
+       queue_work(dev->mt76.wq, &dev->reset_work);
        wake_up(&dev->reset_wait);
 }
 
index c6446757ad4a572411ebac3db60dd7966058116e..846e71042dc3996c8af71edf237594144033bb56 100644 (file)
@@ -610,7 +610,7 @@ static void mt7915_irq_tasklet(struct tasklet_struct *t)
                mt76_wr(dev, MT_MCU_CMD, val);
                if (val & MT_MCU_CMD_ERROR_MASK) {
                        dev->reset_state = val;
-                       ieee80211_queue_work(mt76_hw(dev), &dev->reset_work);
+                       queue_work(dev->mt76.wq, &dev->reset_work);
                        wake_up(&dev->reset_wait);
                }
        }