MIPS: ralink: add missing put_device in ill_acc_of_setup
authoryu kuai <yukuai3@huawei.com>
Wed, 25 Dec 2019 13:15:20 +0000 (21:15 +0800)
committerPaul Burton <paulburton@kernel.org>
Thu, 9 Jan 2020 17:40:47 +0000 (09:40 -0800)
If of_find_device_by_node return 0 and ill_acc_of_setup return error,
pdev don't have a corresponding object release.

Fix it by adding put_device.

Signed-off-by: yu kuai <yukuai3@huawei.com>
Signed-off-by: Paul Burton <paulburton@kernel.org>
Cc: <john@phrozen.org>
Cc: <ralf@linux-mips.org>
Cc: <jhogan@kernel.org>
Cc: <linux-mips@vger.kernel.org>
Cc: <linux-kernel@vger.kernel.org>
Cc: <zhengbin13@huawei.com>
Cc: <yi.zhang@huawei.com>
arch/mips/ralink/ill_acc.c

index 0ddeb31..bdf5380 100644 (file)
@@ -67,11 +67,13 @@ static int __init ill_acc_of_setup(void)
        irq = irq_of_parse_and_map(np, 0);
        if (!irq) {
                dev_err(&pdev->dev, "failed to get irq\n");
+               put_device(&pdev->dev);
                return -EINVAL;
        }
 
        if (request_irq(irq, ill_acc_irq_handler, 0, "ill_acc", &pdev->dev)) {
                dev_err(&pdev->dev, "failed to request irq\n");
+               put_device(&pdev->dev);
                return -EINVAL;
        }