OSDN Git Service

mt76: mt7615: stop ext_phy queue when mac reset happens
authorRyder Lee <ryder.lee@mediatek.com>
Sat, 27 Feb 2021 07:39:43 +0000 (15:39 +0800)
committerFelix Fietkau <nbd@nbd.name>
Sun, 11 Apr 2021 22:01:23 +0000 (00:01 +0200)
Stop Tx burst for ext_phy after mac reset.

Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/mac.c

index d49a3f1..59aa8f8 100644 (file)
@@ -2075,6 +2075,7 @@ void mt7615_mac_reset_work(struct work_struct *work)
        del_timer_sync(&dev->phy.roc_timer);
        cancel_work_sync(&dev->phy.roc_work);
        if (phy2) {
+               set_bit(MT76_RESET, &phy2->mt76->state);
                cancel_delayed_work_sync(&phy2->mt76->mac_work);
                del_timer_sync(&phy2->roc_timer);
                cancel_work_sync(&phy2->roc_work);
@@ -2108,6 +2109,8 @@ void mt7615_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);