Skip to content

Commit

Permalink
mt76: mt7921: Fix the error handling path of mt7921_pci_probe()
Browse files Browse the repository at this point in the history
[ Upstream commit 4e90db5 ]

In case of error, some resources must be freed, as already done above and
below the devm_kmemdup() and __mt7921e_mcu_drv_pmctrl() calls added in the
commit in Fixes:.

Fixes: 602cc0c ("mt76: mt7921e: fix possible probe failure after reboot")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
tititiou36 authored and gregkh committed Jun 9, 2022
1 parent 047409e commit 83ebfe4
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions drivers/net/wireless/mediatek/mt76/mt7921/pci.c
Expand Up @@ -300,8 +300,10 @@ 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)
return -ENOMEM;
if (!bus_ops) {
ret = -ENOMEM;
goto err_free_dev;
}

bus_ops->rr = mt7921_rr;
bus_ops->wr = mt7921_wr;
Expand All @@ -310,7 +312,7 @@ static int mt7921_pci_probe(struct pci_dev *pdev,

ret = __mt7921e_mcu_drv_pmctrl(dev);
if (ret)
return ret;
goto err_free_dev;

mdev->rev = (mt7921_l1_rr(dev, MT_HW_CHIPID) << 16) |
(mt7921_l1_rr(dev, MT_HW_REV) & 0xff);
Expand Down

0 comments on commit 83ebfe4

Please sign in to comment.