watchdog: Show error message when initr_watchdog() cannot start watchdog
authorPali Rohár <pali@kernel.org>
Tue, 9 Mar 2021 13:26:55 +0000 (14:26 +0100)
committerStefan Roese <sr@denx.de>
Tue, 6 Apr 2021 08:47:32 +0000 (10:47 +0200)
Function wdt_start() may fail. So in initr_watchdog() function check return
value of wdt_start() call and print error message when watchdog starting
failed.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
drivers/watchdog/wdt-uclass.c

index 3f707f6..7500b3e 100644 (file)
@@ -27,6 +27,7 @@ static ulong reset_period = 1000;
 int initr_watchdog(void)
 {
        u32 timeout = WATCHDOG_TIMEOUT_SECS;
+       int ret;
 
        /*
         * Init watchdog: This will call the probe function of the
@@ -50,7 +51,12 @@ int initr_watchdog(void)
                                                    4 * reset_period) / 4;
        }
 
-       wdt_start(gd->watchdog_dev, timeout * 1000, 0);
+       ret = wdt_start(gd->watchdog_dev, timeout * 1000, 0);
+       if (ret != 0) {
+               printf("WDT:   Failed to start\n");
+               return 0;
+       }
+
        printf("WDT:   Started with%s servicing (%ds timeout)\n",
               IS_ENABLED(CONFIG_WATCHDOG) ? "" : "out", timeout);