summaryrefslogtreecommitdiff
path: root/drivers/watchdog/at91sam9_wdt.c
diff options
context:
space:
mode:
authorruanjinjie <ruanjinjie@huawei.com>2022-11-16 12:49:50 +0300
committerWim Van Sebroeck <wim@linux-watchdog.org>2023-02-18 17:11:35 +0300
commit07bec0e09c1afbab4c5674fd2341f4f52d594f30 (patch)
tree768cc690dae9c504eec31ff6a2f2ce47c5ac8719 /drivers/watchdog/at91sam9_wdt.c
parentf769f97917c1e756e12ff042a93f6e3167254b5b (diff)
downloadlinux-07bec0e09c1afbab4c5674fd2341f4f52d594f30.tar.xz
watchdog: at91sam9_wdt: use devm_request_irq to avoid missing free_irq() in error path
free_irq() is missing in case of error in at91_wdt_init(), use devm_request_irq to fix that. Fixes: 5161b31dc39a ("watchdog: at91sam9_wdt: better watchdog support") Signed-off-by: ruanjinjie <ruanjinjie@huawei.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Link: https://lore.kernel.org/r/20221116094950.3141943-1-ruanjinjie@huawei.com [groeck: Adjust multi-line alignment] Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
Diffstat (limited to 'drivers/watchdog/at91sam9_wdt.c')
-rw-r--r--drivers/watchdog/at91sam9_wdt.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c
index 292b5a1ca831..fed7be246442 100644
--- a/drivers/watchdog/at91sam9_wdt.c
+++ b/drivers/watchdog/at91sam9_wdt.c
@@ -206,10 +206,9 @@ static int at91_wdt_init(struct platform_device *pdev, struct at91wdt *wdt)
"min heartbeat and max heartbeat might be too close for the system to handle it correctly\n");
if ((tmp & AT91_WDT_WDFIEN) && wdt->irq) {
- err = request_irq(wdt->irq, wdt_interrupt,
- IRQF_SHARED | IRQF_IRQPOLL |
- IRQF_NO_SUSPEND,
- pdev->name, wdt);
+ err = devm_request_irq(dev, wdt->irq, wdt_interrupt,
+ IRQF_SHARED | IRQF_IRQPOLL | IRQF_NO_SUSPEND,
+ pdev->name, wdt);
if (err)
return err;
}