Re: [RFC] [PATCH 6/10] Generic Watchdog Timer Driver

From: Mike Waychison
Date: Wed Feb 23 2011 - 17:06:54 EST


On 02/23/11 12:43, Wim Van Sebroeck wrote:
commit afe3de93859443b575407f39a2e655956c02e088
Author: Wim Van Sebroeck<wim@xxxxxxxxx>
Date: Sun Jul 18 10:39:00 2010 +0000

watchdog: WatchDog Timer Driver Core - Part 6

Since we don't want that a driver module can be removed
while the watchdog timer is still active, we lock the
driver module (by incremeting the reference counter).
After a clean close of the watchdog driver we unlock the
driver module.
If /dev/watchdog is closed uncleanly (and the watchdog is
still active) then we do not unlock the driver module,
but keep it, so that next time /dev/watchdog get's opened
we can continue triggering the watchdog.

Signed-off-by: Alan Cox<alan@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Wim Van Sebroeck<wim@xxxxxxxxx>


*snip*

diff --git a/drivers/watchdog/core/watchdog_core.c b/drivers/watchdog/core/watchdog_core.c
index 52bc520..d1a824e 100644
--- a/drivers/watchdog/core/watchdog_core.c
+++ b/drivers/watchdog/core/watchdog_core.c
@@ -60,6 +60,10 @@ int register_watchdogdevice(struct watchdog_device *wdd)
if (wdd == NULL || wdd->info == NULL || wdd->ops == NULL)
return -ENODATA;

+ /* Make sure that the owner of the watchdog operations exists */
+ if (wdd->ops->owner == NULL)
+ return -ENODATA;

This check is invalid when the driver is built in.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/