watchdog: fix GETTIMEOUT ioctl in booke_wdt
authorDmitry Artamonow <mad_soft@inbox.ru>
Thu, 26 Jan 2012 19:24:30 +0000 (23:24 +0400)
committerWim Van Sebroeck <wim@iguana.be>
Wed, 29 Feb 2012 08:46:13 +0000 (09:46 +0100)
Commit dcfb748422 ([WATCHDOG] fix book E watchdog to take
WDIOC_SETTIMEOUT arg in seconds) fixed SETTIMEOUT ioctl
to use seconds as a parameter instead of some hardware-specific
"period", but missed to apply similar changes to GETTIMEOUT,
so it still returns "period" value. Let's fix it!
Also, while at it, make SETTIMEOUT ioctl return real timeout
value as it should do according to the documentation.

Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/booke_wdt.c

index 337265b47305b7f74d7935f7da1b4c85e7fd99cf..7c0fdfca26469be5643f994a88c950c2855e4768 100644 (file)
@@ -198,9 +198,13 @@ static long booke_wdt_ioctl(struct file *file,
                booke_wdt_period = tmp;
 #endif
                booke_wdt_set();
-               return 0;
+               /* Fall */
        case WDIOC_GETTIMEOUT:
+#ifdef CONFIG_FSL_BOOKE
+               return put_user(period_to_sec(booke_wdt_period), p);
+#else
                return put_user(booke_wdt_period, p);
+#endif
        default:
                return -ENOTTY;
        }