aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/watchdog
diff options
context:
space:
mode:
authorWim Van Sebroeck <wim@iguana.be>2007-01-27 16:07:03 -0500
committerWim Van Sebroeck <wim@iguana.be>2007-01-27 16:07:03 -0500
commitc9d7710ea2b497784314a916a39d4d390855a557 (patch)
treed43daf08154aae885a8b48dba656a15abff5493c /drivers/char/watchdog
parentf6e4803969ee93bef6aeeb6aff0f9214547d1bb1 (diff)
[WATCHDOG] ib700wdt.c small clean-up's
* Fix identation * Add watchdog "mandatory" WDIOC_GETBOOTSTATUS ioctl * On unexpected close -> since this is considered as a write to the watchdog device, make sure we ping a last time. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/char/watchdog')
-rw-r--r--drivers/char/watchdog/ib700wdt.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/char/watchdog/ib700wdt.c b/drivers/char/watchdog/ib700wdt.c
index d379bf075264..3cec6790893e 100644
--- a/drivers/char/watchdog/ib700wdt.c
+++ b/drivers/char/watchdog/ib700wdt.c
@@ -3,8 +3,8 @@
3 * 3 *
4 * (c) Copyright 2001 Charles Howes <chowes@vsol.net> 4 * (c) Copyright 2001 Charles Howes <chowes@vsol.net>
5 * 5 *
6 * Based on advantechwdt.c which is based on acquirewdt.c which 6 * Based on advantechwdt.c which is based on acquirewdt.c which
7 * is based on wdt.c. 7 * is based on wdt.c.
8 * 8 *
9 * (c) Copyright 2000-2001 Marek Michalkiewicz <marekm@linux.org.pl> 9 * (c) Copyright 2000-2001 Marek Michalkiewicz <marekm@linux.org.pl>
10 * 10 *
@@ -25,9 +25,9 @@
25 * 25 *
26 * (c) Copyright 1995 Alan Cox <alan@redhat.com> 26 * (c) Copyright 1995 Alan Cox <alan@redhat.com>
27 * 27 *
28 * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com> 28 * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com>
29 * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT 29 * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT
30 * Added timeout module option to override default 30 * Added timeout module option to override default
31 * 31 *
32 */ 32 */
33 33
@@ -201,6 +201,7 @@ ibwdt_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
201 break; 201 break;
202 202
203 case WDIOC_GETSTATUS: 203 case WDIOC_GETSTATUS:
204 case WDIOC_GETBOOTSTATUS:
204 return put_user(0, p); 205 return put_user(0, p);
205 206
206 case WDIOC_KEEPALIVE: 207 case WDIOC_KEEPALIVE:
@@ -246,11 +247,12 @@ static int
246ibwdt_close(struct inode *inode, struct file *file) 247ibwdt_close(struct inode *inode, struct file *file)
247{ 248{
248 spin_lock(&ibwdt_lock); 249 spin_lock(&ibwdt_lock);
249 if (expect_close == 42) 250 if (expect_close == 42) {
250 ibwdt_disable(); 251 ibwdt_disable();
251 else 252 } else {
252 printk(KERN_CRIT PFX "WDT device closed unexpectedly. WDT will not stop!\n"); 253 printk(KERN_CRIT PFX "WDT device closed unexpectedly. WDT will not stop!\n");
253 254 ibwdt_ping();
255 }
254 clear_bit(0, &ibwdt_is_open); 256 clear_bit(0, &ibwdt_is_open);
255 expect_close = 0; 257 expect_close = 0;
256 spin_unlock(&ibwdt_lock); 258 spin_unlock(&ibwdt_lock);