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 <[email protected]>
---
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 0ddeb31afa93..bdf53807d7c2 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;
}
--
2.17.2
Hello,
yu kuai wrote:
> 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.
Applied to mips-next.
> commit defed0bbca2c
> https://git.kernel.org/mips/c/defed0bbca2c
>
> Signed-off-by: yu kuai <[email protected]>
> Signed-off-by: Paul Burton <[email protected]>
Thanks,
Paul
[ This message was auto-generated; if you believe anything is incorrect
then please email [email protected] to report it. ]