From defed0bbca2cc24b8c2ee02d79d1451d4eb95e4a Mon Sep 17 00:00:00 2001
From: yu kuai <yukuai3@huawei.com>
Date: Wed, 25 Dec 2019 21:15:20 +0800
Subject: [PATCH] MIPS: ralink: add missing put_device in ill_acc_of_setup

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 | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/mips/ralink/ill_acc.c b/arch/mips/ralink/ill_acc.c
index 0ddeb31afa93a..bdf53807d7c2b 100644
--- a/arch/mips/ralink/ill_acc.c
+++ b/arch/mips/ralink/ill_acc.c
@@ -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;
 	}