Hi Guenter.
W dniu 2014-09-08 05:16, Guenter Roeck pisze:
* I also added wdd->ops->ref/unref calls but I'm afraid that even
original code is buggy in watchdog_dev.c. Is any driver that uses
the pointers? In my opinion watchdog_open() should call
wdd->ops->ref() before watchdog_start() and watchdog_release()
should call wdd->ops->unref() before module_put(). Otherwise fault
is possible if watchdog module is unloaded.
* I noticed that current watchdog core does not support
suspend/resume case. If you want to use suspend without the patch
you need to close a watchdog in userspace using the magic character
before suspend command. With the patch you must to use
WDIOC_SETOPTIONS ioctl and WDIOS_DISABLECARD/WDIOS_ENABLECARD. Is
there any other method to suspend with watchdog?
Can kernel suspend a started (stoppable) watchdog? It dissapeared in
3.x. Now userland reaction seems to be required.
Really ? I see a number of watchdog drivers implementing it.
Three things about always active/running/enabled watchdogs:
- stop returns an error
- pm/suspend/resume are not supported
- if watchdog is running/active keep-on like feature should be enabled
- on register watchdog specific driver should check if watchdog was
enabled before
Always active/running/enabled is related to watchdog attribute
and seems have direct influence on specific driver code.
Is there "never stop" software option needed for stoppable watchdogs?
Abore are just notes. Now I'm working under keep-on and stmp3xxx driver
only.
best regards
Janusz
--
To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html