From e9e418fc7eb00ed8f9855d906746f8fbecef4a44 Mon Sep 17 00:00:00 2001 From: Ryder Lee Date: Sat, 27 Feb 2021 15:39:45 +0800 Subject: [PATCH] mt76: mt7915: stop ext_phy queue when mac reset happens Stop Tx burst for ext_phy after mac reset. Signed-off-by: Ryder Lee Signed-off-by: Felix Fietkau --- mt7915/mac.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mt7915/mac.c b/mt7915/mac.c index 2a3c7b39..d3a6312c 100644 --- a/mt7915/mac.c +++ b/mt7915/mac.c @@ -1607,9 +1607,10 @@ void mt7915_mac_reset_work(struct work_struct *work) set_bit(MT76_MCU_RESET, &dev->mphy.state); wake_up(&dev->mt76.mcu.wait); cancel_delayed_work_sync(&dev->mphy.mac_work); - if (phy2) + if (phy2) { + set_bit(MT76_RESET, &phy2->mt76->state); cancel_delayed_work_sync(&phy2->mt76->mac_work); - + } /* lock/unlock all queues to ensure that no tx is pending */ mt76_txq_schedule_all(&dev->mphy); if (ext_phy) @@ -1637,6 +1638,8 @@ void mt7915_mac_reset_work(struct work_struct *work) clear_bit(MT76_MCU_RESET, &dev->mphy.state); clear_bit(MT76_RESET, &dev->mphy.state); + if (phy2) + clear_bit(MT76_RESET, &phy2->mt76->state); mt76_worker_enable(&dev->mt76.tx_worker); napi_enable(&dev->mt76.tx_napi);