aboutsummarylogtreecommitdiffstats
path: root/mt76-mt7921-fix-dma-hang-in-rmmod.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mt76-mt7921-fix-dma-hang-in-rmmod.patch')
-rw-r--r--mt76-mt7921-fix-dma-hang-in-rmmod.patch55
1 files changed, 0 insertions, 55 deletions
diff --git a/mt76-mt7921-fix-dma-hang-in-rmmod.patch b/mt76-mt7921-fix-dma-hang-in-rmmod.patch
deleted file mode 100644
index 7b353ab3e5eb..000000000000
--- a/mt76-mt7921-fix-dma-hang-in-rmmod.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From: Deren Wu <Deren.Wu@mediatek.com>
-To: Felix Fietkau <nbd@nbd.name>, Lorenzo Bianconi
- <lorenzo.bianconi@redhat.com>
-CC: Sean Wang <sean.wang@mediatek.com>, Soul Huang <Soul.Huang@mediatek.com>,
- YN Chen <YN.Chen@mediatek.com>, Leon Yen <Leon.Yen@mediatek.com>, "Eric-SY
- Chang" <Eric-SY.Chang@mediatek.com>, Deren Wu <Deren.Wu@mediatek.com>,
- KM Lin <km.lin@mediatek.com>, Robin Chiu <robin.chiu@mediatek.com>, CH Yeh
- <ch.yeh@mediatek.com>, Posh Sun <posh.sun@mediatek.com>, Eric Liang
- <Eric.Liang@mediatek.com>, Stella Chang <Stella.Chang@mediatek.com>, Jimmy Hu
- <Jimmy.Hu@mediatek.com>, <jemele@google.com>, <yenlinlai@google.com>,
- linux-wireless <linux-wireless@vger.kernel.org>, linux-mediatek
- <linux-mediatek@lists.infradead.org>, Deren Wu <deren.wu@mediatek.com>
-Subject: [PATCH] mt76: mt7921: fix dma hang in rmmod
-Date: Tue, 27 Jul 2021 17:47:09 +0800
-
-From: Deren Wu <deren.wu@mediatek.com>
-
-The dma would be broken after rmmod flow. There are two different
-cases causing this issue.
-1. dma access without privilege.
-2. hw access sequence borken by another context.
-
-This patch handle both cases to avoid hw crash.
-
-Fixes: 2b9ea5a8cf1bd ("mt76: mt7921: add mt7921_dma_cleanup in mt7921_unregister_device")
-Signed-off-by: Deren Wu <deren.wu@mediatek.com>
----
- drivers/net/wireless/mediatek/mt76/mt7921/init.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/init.c b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
-index 49725caca7ed..1f37e64b6038 100644
---- a/drivers/net/wireless/mediatek/mt76/mt7921/init.c
-+++ b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
-@@ -266,10 +266,20 @@ int mt7921_register_device(struct mt7921_dev *dev)
-
- void mt7921_unregister_device(struct mt7921_dev *dev)
- {
-+ int i;
-+ struct mt76_connac_pm *pm = &dev->pm;
-+
- mt76_unregister_device(&dev->mt76);
-+ mt76_for_each_q_rx(&dev->mt76, i)
-+ napi_disable(&dev->mt76.napi[i]);
-+ cancel_delayed_work_sync(&pm->ps_work);
-+ cancel_work_sync(&pm->wake_work);
-+
- mt7921_tx_token_put(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);