[WATCHDOG] driver-for-ibm-automatic-server-restart-watchdog-fix2.patch
authorWim Van Sebroeck <wim@iguana.be>
Fri, 19 Aug 2005 21:31:41 +0000 (23:31 +0200)
committerWim Van Sebroeck <wim@iguana.be>
Sun, 11 Sep 2005 20:11:40 +0000 (22:11 +0200)
The device/watchdog has a fixed timeout/heartbeat.
So we don't support the WDIOC_SETTIMEOUT ioctl call
and we also may not set the WDIOF_SETTIMEOUT flag.

Cc: Andrey Panin <pazke@donpac.ru>
Cc: Andrew Morton <akpm@osdl.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/char/watchdog/ibmasr.c

index 4f90015be7dd78ddeb7dad70f1ab1d1a8f873d6f..294c474ae485764eb9416a2c9c9cd5d56b773065 100644 (file)
@@ -246,7 +246,7 @@ static int asr_ioctl(struct inode *inode, struct file *file,
                     unsigned int cmd, unsigned long arg)
 {
        static const struct watchdog_info ident = {
-               .options =      WDIOF_KEEPALIVEPING | WDIOF_SETTIMEOUT |
+               .options =      WDIOF_KEEPALIVEPING | 
                                WDIOF_MAGICCLOSE,
                .identity =     "IBM ASR"
        };
@@ -268,14 +268,9 @@ static int asr_ioctl(struct inode *inode, struct file *file,
                        return 0;
 
                /*
-                * The hardware has a fixed timeout value, so WDIOC_SETTIMEOUT
-                * is a noop and WDIOC_GETTIMEOUT always returns 256.
+                * The hardware has a fixed timeout value, so no WDIOC_SETTIMEOUT
+                * and WDIOC_GETTIMEOUT always returns 256.
                 */
-               case WDIOC_SETTIMEOUT:
-                       if (get_user(heartbeat, p))
-                               return -EFAULT;
-                       /* Fall */
-
                case WDIOC_GETTIMEOUT:
                        heartbeat = 256;
                        return put_user(heartbeat, p);