From: Lingling Xu <ling_ling...@unisoc.com>

sprd_wdt_start() would return fail if the loading operation is not completed
in a certain time, disabling watchdog for that case would probably cause
the kernel crash when kick watchdog later, that's too bad, so remove the
watchdog disable operation for the fail case to make sure other parts in
the kernel can run normally.

[ chunyan: Massaged changelog ]

Fixes: 477603467009 ("watchdog: Add Spreadtrum watchdog driver")
Signed-off-by: Lingling Xu <ling_ling...@unisoc.com>
Signed-off-by: Chunyan Zhang <chunyan.zh...@unisoc.com>
Reviewed-by: Guenter Roeck <li...@roeck-us.net>
---
 drivers/watchdog/sprd_wdt.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/watchdog/sprd_wdt.c b/drivers/watchdog/sprd_wdt.c
index 65cb55f3916f..f3c90b4afead 100644
--- a/drivers/watchdog/sprd_wdt.c
+++ b/drivers/watchdog/sprd_wdt.c
@@ -345,15 +345,10 @@ static int __maybe_unused sprd_wdt_pm_resume(struct 
device *dev)
        if (ret)
                return ret;
 
-       if (watchdog_active(&wdt->wdd)) {
+       if (watchdog_active(&wdt->wdd))
                ret = sprd_wdt_start(&wdt->wdd);
-               if (ret) {
-                       sprd_wdt_disable(wdt);
-                       return ret;
-               }
-       }
 
-       return 0;
+       return ret;
 }
 
 static const struct dev_pm_ops sprd_wdt_pm_ops = {
-- 
2.20.1

Reply via email to