Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9daa272 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] clarify watchdog operation in documentation
  [WATCHDOG] Revert "Stop looking for device as soon as one is found"
parents 977c8fa4 0d710cba
Loading
Loading
Loading
Loading
+21 −17
Original line number Original line Diff line number Diff line
@@ -42,23 +42,27 @@ like this source file: see Documentation/watchdog/src/watchdog-simple.c
A more advanced driver could for example check that a HTTP server is
A more advanced driver could for example check that a HTTP server is
still responding before doing the write call to ping the watchdog.
still responding before doing the write call to ping the watchdog.


When the device is closed, the watchdog is disabled.  This is not
When the device is closed, the watchdog is disabled, unless the "Magic
always such a good idea, since if there is a bug in the watchdog
Close" feature is supported (see below).  This is not always such a
daemon and it crashes the system will not reboot.  Because of this,
good idea, since if there is a bug in the watchdog daemon and it
some of the drivers support the configuration option "Disable watchdog
crashes the system will not reboot.  Because of this, some of the
shutdown on close", CONFIG_WATCHDOG_NOWAYOUT.  If it is set to Y when
drivers support the configuration option "Disable watchdog shutdown on
compiling the kernel, there is no way of disabling the watchdog once
close", CONFIG_WATCHDOG_NOWAYOUT.  If it is set to Y when compiling
it has been started.  So, if the watchdog daemon crashes, the system
the kernel, there is no way of disabling the watchdog once it has been
will reboot after the timeout has passed. Watchdog devices also usually
started.  So, if the watchdog daemon crashes, the system will reboot
support the nowayout module parameter so that this option can be controlled
after the timeout has passed. Watchdog devices also usually support
at runtime.
the nowayout module parameter so that this option can be controlled at

runtime.
Drivers will not disable the watchdog, unless a specific magic character 'V'

has been sent /dev/watchdog just before closing the file.  If the userspace
Magic Close feature:
daemon closes the file without sending this special character, the driver

will assume that the daemon (and userspace in general) died, and will stop
If a driver supports "Magic Close", the driver will not disable the
pinging the watchdog without disabling it first.  This will then cause a
watchdog unless a specific magic character 'V' has been sent to
reboot if the watchdog is not re-opened in sufficient time.
/dev/watchdog just before closing the file.  If the userspace daemon
closes the file without sending this special character, the driver
will assume that the daemon (and userspace in general) died, and will
stop pinging the watchdog without disabling it first.  This will then
cause a reboot if the watchdog is not re-opened in sufficient time.


The ioctl API:
The ioctl API:


+1 −3
Original line number Original line Diff line number Diff line
@@ -382,10 +382,8 @@ wdt_init(void)
		/* we will autodetect the W83697HF/HG watchdog */
		/* we will autodetect the W83697HF/HG watchdog */
		for (i = 0; ((!found) && (w83697hf_ioports[i] != 0)); i++) {
		for (i = 0; ((!found) && (w83697hf_ioports[i] != 0)); i++) {
			wdt_io = w83697hf_ioports[i];
			wdt_io = w83697hf_ioports[i];
			if (!w83697hf_check_wdt()) {
			if (!w83697hf_check_wdt())
				found++;
				found++;
				break;
			}
		}
		}
	} else {
	} else {
		if (!w83697hf_check_wdt())
		if (!w83697hf_check_wdt())