mt76: mt7915: add missing bh-disable around tx napi enable/schedule
authorFelix Fietkau <nbd@nbd.name>
Thu, 2 Jun 2022 19:43:04 +0000 (21:43 +0200)
committerFelix Fietkau <nbd@nbd.name>
Mon, 11 Jul 2022 11:40:01 +0000 (13:40 +0200)
napi_schedule() can call __raise_softirq_irqoff(), which can perform softirq
handling, so it must not be called in a pure process context with BH enabled.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/mac.c

index 27b3080..00d670f 100644 (file)
@@ -2183,8 +2183,10 @@ void mt7915_mac_reset_work(struct work_struct *work)
 
        mt76_worker_enable(&dev->mt76.tx_worker);
 
+       local_bh_disable();
        napi_enable(&dev->mt76.tx_napi);
        napi_schedule(&dev->mt76.tx_napi);
+       local_bh_enable();
 
        ieee80211_wake_queues(mt76_hw(dev));
        if (ext_phy)