2021-08-23 02:27:27

by Sean Wang

[permalink] [raw]
Subject: [PATCH] mt76: mt7921: fix the inconsistent state between bind and unbind

From: Sean Wang <[email protected]>

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 <[email protected]>
Signed-off-by: YN Chen <[email protected]>
Signed-off-by: Sean Wang <[email protected]>
---
drivers/net/wireless/mediatek/mt76/mt7921/init.c | 1 -
1 file changed, 1 deletion(-)

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);
--
2.25.1


2021-08-23 03:43:59

by Chen-Yu Tsai

[permalink] [raw]
Subject: Re: [PATCH] mt76: mt7921: fix the inconsistent state between bind and unbind

On Mon, Aug 23, 2021 at 10:27 AM <[email protected]> wrote:
>
> From: Sean Wang <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: YN Chen <[email protected]>
> Signed-off-by: Sean Wang <[email protected]>

Tested-by: Chen-Yu Tsai <[email protected]>