summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Wang <sean.wang@mediatek.com>2022-07-15 12:59:22 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-07-29 17:25:07 +0200
commit4666a6eb390c683e346d3ccb7bb8e41ef994afc5 (patch)
treec5498dd1bf6ca023ff58f9594c497d1e8e1b649f
parent0cac1c84e1ccdd71924c644f83e24f5ef47d6f7c (diff)
downloadlinux-stable-4666a6eb390c683e346d3ccb7bb8e41ef994afc5.tar.gz
linux-stable-4666a6eb390c683e346d3ccb7bb8e41ef994afc5.tar.bz2
linux-stable-4666a6eb390c683e346d3ccb7bb8e41ef994afc5.zip
Revert "mt76: mt7921: Fix the error handling path of mt7921_pci_probe()"
This reverts commit 663457f421d41e9d2fcb1e84baf43d1433f80c08 that is the commit 44c4237cf3436bda2b185ff728123651ad133f69 upstream. Because there was mistake in '649178c0493e ("mt76: mt7921e: fix possible probe failure after reboot")' that caused WiFi reset cannot work well as the reported issue "PROBLEM: [Stable v5.15.42+] [mt7921] Wake after suspend locks up system when mt7921-driver is used on a Lenovo ThinkPad E15 G3" described in http://lists.infradead.org/pipermail/linux-mediatek/2022-June/042668.html So we need to revert the patch first to avoid the conflict of reverting '649178c0493e ("mt76: mt7921e: fix possible probe failure after reboot")' and will be applied back later after fixing. Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7921/pci.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c
index 3d35838ef306..7d9b23a00238 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c
@@ -254,10 +254,8 @@ static int mt7921_pci_probe(struct pci_dev *pdev,
dev->bus_ops = dev->mt76.bus;
bus_ops = devm_kmemdup(dev->mt76.dev, dev->bus_ops, sizeof(*bus_ops),
GFP_KERNEL);
- if (!bus_ops) {
- ret = -ENOMEM;
- goto err_free_dev;
- }
+ if (!bus_ops)
+ return -ENOMEM;
bus_ops->rr = mt7921_rr;
bus_ops->wr = mt7921_wr;
@@ -266,7 +264,7 @@ static int mt7921_pci_probe(struct pci_dev *pdev,
ret = __mt7921_mcu_drv_pmctrl(dev);
if (ret)
- goto err_free_dev;
+ return ret;
mdev->rev = (mt7921_l1_rr(dev, MT_HW_CHIPID) << 16) |
(mt7921_l1_rr(dev, MT_HW_REV) & 0xff);