OSDN Git Service

mt76: mt7615: free irq if mt7615_mmio_probe fails
authorLorenzo Bianconi <lorenzo@kernel.org>
Mon, 10 May 2021 07:13:03 +0000 (09:13 +0200)
committerFelix Fietkau <nbd@nbd.name>
Sat, 19 Jun 2021 07:22:44 +0000 (09:22 +0200)
As already done for mt7915 and mt7921, free registered irq line if
mt7615_mmio_probe routine fails

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/mmio.c

index 202ea23..71719c7 100644 (file)
@@ -229,7 +229,7 @@ int mt7615_mmio_probe(struct device *pdev, void __iomem *mem_base,
                               GFP_KERNEL);
        if (!bus_ops) {
                ret = -ENOMEM;
-               goto error;
+               goto err_free_dev;
        }
 
        bus_ops->rr = mt7615_rr;
@@ -242,17 +242,20 @@ int mt7615_mmio_probe(struct device *pdev, void __iomem *mem_base,
        ret = devm_request_irq(mdev->dev, irq, mt7615_irq_handler,
                               IRQF_SHARED, KBUILD_MODNAME, dev);
        if (ret)
-               goto error;
+               goto err_free_dev;
 
        if (is_mt7663(mdev))
                mt76_wr(dev, MT_PCIE_IRQ_ENABLE, 1);
 
        ret = mt7615_register_device(dev);
        if (ret)
-               goto error;
+               goto err_free_irq;
 
        return 0;
-error:
+
+err_free_irq:
+       devm_free_irq(pdev, irq, dev);
+err_free_dev:
        mt76_free_device(&dev->mt76);
 
        return ret;