* [PATCH -next] watchdog: core: Fix error handling of watchdog_dev_init()
@ 2016-07-19 11:22 Wei Yongjun
2016-07-19 14:33 ` Guenter Roeck
0 siblings, 1 reply; 2+ messages in thread
From: Wei Yongjun @ 2016-07-19 11:22 UTC (permalink / raw)
To: Wim Van Sebroeck, Guenter Roeck; +Cc: Wei Yongjun, linux-watchdog
From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Fix the error handling paths of watchdog_dev_init().
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
---
drivers/watchdog/watchdog_dev.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c
index 14f8a92..f6e6751 100644
--- a/drivers/watchdog/watchdog_dev.c
+++ b/drivers/watchdog/watchdog_dev.c
@@ -952,17 +952,22 @@ int __init watchdog_dev_init(void)
err = class_register(&watchdog_class);
if (err < 0) {
pr_err("couldn't register class\n");
- return err;
+ goto err_register;
}
err = alloc_chrdev_region(&watchdog_devt, 0, MAX_DOGS, "watchdog");
if (err < 0) {
pr_err("watchdog: unable to allocate char dev region\n");
- class_unregister(&watchdog_class);
- return err;
+ goto err_alloc;
}
return 0;
+
+err_alloc:
+ class_unregister(&watchdog_class);
+err_register:
+ destroy_workqueue(watchdog_wq);
+ return err;
}
/*
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH -next] watchdog: core: Fix error handling of watchdog_dev_init()
2016-07-19 11:22 [PATCH -next] watchdog: core: Fix error handling of watchdog_dev_init() Wei Yongjun
@ 2016-07-19 14:33 ` Guenter Roeck
0 siblings, 0 replies; 2+ messages in thread
From: Guenter Roeck @ 2016-07-19 14:33 UTC (permalink / raw)
To: Wei Yongjun, Wim Van Sebroeck; +Cc: Wei Yongjun, linux-watchdog
On 07/19/2016 04:22 AM, Wei Yongjun wrote:
> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>
> Fix the error handling paths of watchdog_dev_init().
>
> Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> ---
> drivers/watchdog/watchdog_dev.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c
> index 14f8a92..f6e6751 100644
> --- a/drivers/watchdog/watchdog_dev.c
> +++ b/drivers/watchdog/watchdog_dev.c
> @@ -952,17 +952,22 @@ int __init watchdog_dev_init(void)
> err = class_register(&watchdog_class);
> if (err < 0) {
> pr_err("couldn't register class\n");
> - return err;
> + goto err_register;
> }
>
> err = alloc_chrdev_region(&watchdog_devt, 0, MAX_DOGS, "watchdog");
> if (err < 0) {
> pr_err("watchdog: unable to allocate char dev region\n");
> - class_unregister(&watchdog_class);
> - return err;
> + goto err_alloc;
> }
>
> return 0;
> +
> +err_alloc:
> + class_unregister(&watchdog_class);
> +err_register:
> + destroy_workqueue(watchdog_wq);
> + return err;
> }
>
> /*
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-07-19 14:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-19 11:22 [PATCH -next] watchdog: core: Fix error handling of watchdog_dev_init() Wei Yongjun
2016-07-19 14:33 ` Guenter Roeck
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).