diff mbox series

mt76: mt7921: fix the inconsistent state between bind and unbind

Message ID 9c71befbdf8a97f72f4538c39a71041ccffbaf83.1629685207.git.objelf@gmail.com
State New
Headers show
Series mt76: mt7921: fix the inconsistent state between bind and unbind | expand

Commit Message

Sean Wang Aug. 23, 2021, 2:26 a.m. UTC
From: Sean Wang <sean.wang@mediatek.com>

We shouldn't put back the device into fw own state after wifi reset at
driver unbind stage to fix the following error because that is not the
consistent state the current driver bind stage expects.

localhost ~ # echo 0000:01:00.0 > /sys/bus/pci/drivers/mt7921e/unbind
localhost ~ # echo 0000:01:00.0 > /sys/bus/pci/drivers/mt7921e/bind
...
[  481.172969] mt7921e 0000:01:00.0: ASIC revision: feed0000
[  482.133547] mt7921e: probe of 0000:01:00.0 failed with error -110
-bash: echo: write error: No such device

Fixes: c1af184ba830 ("mt76: mt7921: fix dma hang in rmmod")
Co-developed-by: YN Chen <YN.Chen@mediatek.com>
Signed-off-by: YN Chen <YN.Chen@mediatek.com>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
---
 drivers/net/wireless/mediatek/mt76/mt7921/init.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Chen-Yu Tsai Aug. 23, 2021, 3:43 a.m. UTC | #1
On Mon, Aug 23, 2021 at 10:27 AM <sean.wang@mediatek.com> wrote:
>
> From: Sean Wang <sean.wang@mediatek.com>
>
> We shouldn't put back the device into fw own state after wifi reset at
> driver unbind stage to fix the following error because that is not the
> consistent state the current driver bind stage expects.
>
> localhost ~ # echo 0000:01:00.0 > /sys/bus/pci/drivers/mt7921e/unbind
> localhost ~ # echo 0000:01:00.0 > /sys/bus/pci/drivers/mt7921e/bind
> ...
> [  481.172969] mt7921e 0000:01:00.0: ASIC revision: feed0000
> [  482.133547] mt7921e: probe of 0000:01:00.0 failed with error -110
> -bash: echo: write error: No such device
>
> Fixes: c1af184ba830 ("mt76: mt7921: fix dma hang in rmmod")
> Co-developed-by: YN Chen <YN.Chen@mediatek.com>
> Signed-off-by: YN Chen <YN.Chen@mediatek.com>
> Signed-off-by: Sean Wang <sean.wang@mediatek.com>

Tested-by: Chen-Yu Tsai <wenst@chromium.org>
diff mbox series

Patch

diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/init.c b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
index 1f37e64b6038..3e84ef8f5358 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
@@ -279,7 +279,6 @@  void mt7921_unregister_device(struct mt7921_dev *dev)
 	mt7921_mcu_drv_pmctrl(dev);
 	mt7921_dma_cleanup(dev);
 	mt7921_mcu_exit(dev);
-	mt7921_mcu_fw_pmctrl(dev);
 
 	tasklet_disable(&dev->irq_tasklet);
 	mt76_free_device(&dev->mt76);