diff options
Diffstat (limited to 'drivers/watchdog/max63xx_wdt.c')
-rw-r--r-- | drivers/watchdog/max63xx_wdt.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/watchdog/max63xx_wdt.c b/drivers/watchdog/max63xx_wdt.c index 6eb91d757604..3053ff05ca41 100644 --- a/drivers/watchdog/max63xx_wdt.c +++ b/drivers/watchdog/max63xx_wdt.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <linux/uaccess.h> | 28 | #include <linux/uaccess.h> |
29 | #include <linux/io.h> | 29 | #include <linux/io.h> |
30 | #include <linux/device.h> | 30 | #include <linux/device.h> |
31 | #include <linux/slab.h> | ||
31 | 32 | ||
32 | #define DEFAULT_HEARTBEAT 60 | 33 | #define DEFAULT_HEARTBEAT 60 |
33 | #define MAX_HEARTBEAT 60 | 34 | #define MAX_HEARTBEAT 60 |
@@ -153,9 +154,14 @@ static void max63xx_wdt_enable(struct max63xx_timeout *entry) | |||
153 | 154 | ||
154 | static void max63xx_wdt_disable(void) | 155 | static void max63xx_wdt_disable(void) |
155 | { | 156 | { |
157 | u8 val; | ||
158 | |||
156 | spin_lock(&io_lock); | 159 | spin_lock(&io_lock); |
157 | 160 | ||
158 | __raw_writeb(3, wdt_base); | 161 | val = __raw_readb(wdt_base); |
162 | val &= ~MAX6369_WDSET; | ||
163 | val |= 3; | ||
164 | __raw_writeb(val, wdt_base); | ||
159 | 165 | ||
160 | spin_unlock(&io_lock); | 166 | spin_unlock(&io_lock); |
161 | 167 | ||