mt76: mt76x02: do not access uninitialized NAPI structs

Fixes a crash on MMIO devices when running into the watchdog reset

Fixes: d3377b78cec6 ("mt76: add HE phy modes and hardware queue")
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Felix Fietkau
2020-06-14 18:21:58 +02:00
parent 4058595e14
commit 49c7131dd0
+3 -2
View File
@@ -455,8 +455,9 @@ static void mt76x02_watchdog_reset(struct mt76x02_dev *dev)
tasklet_disable(&dev->mt76.tx_tasklet); tasklet_disable(&dev->mt76.tx_tasklet);
napi_disable(&dev->mt76.tx_napi); napi_disable(&dev->mt76.tx_napi);
for (i = 0; i < ARRAY_SIZE(dev->mt76.napi); i++) mt76_for_each_q_rx(&dev->mt76, i) {
napi_disable(&dev->mt76.napi[i]); napi_disable(&dev->mt76.napi[i]);
}
mutex_lock(&dev->mt76.mutex); mutex_lock(&dev->mt76.mutex);
@@ -514,7 +515,7 @@ static void mt76x02_watchdog_reset(struct mt76x02_dev *dev)
tasklet_enable(&dev->mt76.pre_tbtt_tasklet); tasklet_enable(&dev->mt76.pre_tbtt_tasklet);
for (i = 0; i < ARRAY_SIZE(dev->mt76.napi); i++) { mt76_for_each_q_rx(&dev->mt76, i) {
napi_enable(&dev->mt76.napi[i]); napi_enable(&dev->mt76.napi[i]);
napi_schedule(&dev->mt76.napi[i]); napi_schedule(&dev->mt76.napi[i]);
} }