watchdog: booke_wdt: fix ioctl status flags
authorWim Van Sebroeck <wim@iguana.be>
Tue, 27 Apr 2010 08:24:11 +0000 (08:24 +0000)
committerWim Van Sebroeck <wim@iguana.be>
Tue, 25 May 2010 09:04:06 +0000 (09:04 +0000)
The WDIOC_GETSTATUS & WDIOC_GETBOOTSTATUS ioctl calls return the WDIOF_* flags
and nothing else.

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

index 801ead1..3d49671 100644 (file)
@@ -137,12 +137,12 @@ static long booke_wdt_ioctl(struct file *file,
                if (copy_to_user((void *)arg, &ident, sizeof(ident)))
                        return -EFAULT;
        case WDIOC_GETSTATUS:
-               return put_user(ident.options, p);
+               return put_user(0, p);
        case WDIOC_GETBOOTSTATUS:
                /* XXX: something is clearing TSR */
                tmp = mfspr(SPRN_TSR) & TSR_WRS(3);
-               /* returns 1 if last reset was caused by the WDT */
-               return (tmp ? 1 : 0);
+               /* returns CARDRESET if last reset was caused by the WDT */
+               return (tmp ? WDIOF_CARDRESET : 0);
        case WDIOC_SETOPTIONS:
                if (get_user(tmp, p))
                        return -EINVAL;