On 11/2/20 11:05 PM, Christophe Leroy wrote: > Hi, > > Can you provide in the commit a description of what you are doing and why ? > Also, I'd rather have this as second patch to make it easier (possible, actually) to apply the first patch to -stable. Guenter > Christophe > > Le 03/11/2020 à 07:52, Wang Wensheng a écrit : >> Signed-off-by: Wang Wensheng <wangwensheng4@xxxxxxxxxx> >> --- >> drivers/watchdog/watchdog_core.c | 17 ++++++++++------- >> 1 file changed, 10 insertions(+), 7 deletions(-) >> >> diff --git a/drivers/watchdog/watchdog_core.c b/drivers/watchdog/watchdog_core.c >> index 423844757812..c73871f41142 100644 >> --- a/drivers/watchdog/watchdog_core.c >> +++ b/drivers/watchdog/watchdog_core.c >> @@ -252,10 +252,8 @@ static int __watchdog_register_device(struct watchdog_device *wdd) >> wdd->id = id; >> ret = watchdog_dev_register(wdd); >> - if (ret) { >> - ida_simple_remove(&watchdog_ida, id); >> - return ret; >> - } >> + if (ret) >> + goto id_remove; >> } >> /* Module parameter to force watchdog policy on reboot. */ >> @@ -273,9 +271,7 @@ static int __watchdog_register_device(struct watchdog_device *wdd) >> if (ret) { >> pr_err("watchdog%d: Cannot register reboot notifier (%d)\n", >> wdd->id, ret); >> - watchdog_dev_unregister(wdd); >> - ida_simple_remove(&watchdog_ida, id); >> - return ret; >> + goto dev_unregister; >> } >> } >> @@ -289,6 +285,13 @@ static int __watchdog_register_device(struct watchdog_device *wdd) >> } >> return 0; >> + >> +dev_unregister: >> + watchdog_dev_unregister(wdd); >> +id_remove: >> + ida_simple_remove(&watchdog_ida, id); >> + >> + return ret; >> } >> /** >>