diff options
author | Leon Yen <leon.yen@mediatek.com> | 2024-02-06 09:53:04 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2024-02-22 09:55:19 +0100 |
commit | 352d966126e66d825244f1185eb9f2d904c83dd4 (patch) | |
tree | 8b4e46e17cef3b73084b9a49a27413fdb478e3f6 /drivers/net/wireless/mediatek/mt76/mt7921/sdio.c | |
parent | wifi: mt76: mt7921: fix the unfinished command of regd_notifier before suspend (diff) | |
download | linux-352d966126e66d825244f1185eb9f2d904c83dd4.tar.xz linux-352d966126e66d825244f1185eb9f2d904c83dd4.zip |
wifi: mt76: mt7921: fix a potential association failure upon resuming
In multi-channel scenarios, the granted channel must be aborted before
suspending. Otherwise, the firmware will be put into a wrong state,
resulting in an association failure after resuming.
With this patch, the granted channel will be aborted before suspending
if necessary.
Signed-off-by: Leon Yen <leon.yen@mediatek.com>
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt7921/sdio.c')
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt7921/sdio.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/sdio.c b/drivers/net/wireless/mediatek/mt76/mt7921/sdio.c index a9ce1e746b95..004d942ee11a 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/sdio.c +++ b/drivers/net/wireless/mediatek/mt76/mt7921/sdio.c @@ -216,6 +216,8 @@ static int mt7921s_suspend(struct device *__dev) cancel_delayed_work_sync(&pm->ps_work); cancel_work_sync(&pm->wake_work); + mt7921_roc_abort_sync(dev); + err = mt792x_mcu_drv_pmctrl(dev); if (err < 0) goto restore_suspend; |