Rasmus Villemoes <rasmus.villemoes@xxxxxxxxx> writes: > If a watchdog driver tells the framework that the device is running, > the framework takes care of feeding the watchdog until userspace opens > the device. If the userspace application which is supposed to do that > never comes up properly, the watchdog is fed indefinitely by the > kernel. This can be especially problematic for embedded devices. > > The existing handle_boot_enabled cmdline parameter/config option > partially solves that, but that is only usable for the subset of > hardware watchdogs that have (or can be configured by the bootloader > to have) a timeout that is sufficient to make it realistic for > userspace to come up. Many devices have timeouts of only a few > seconds, or even less, making handle_boot_enabled insufficient. > > These patches allow one to set a maximum time for which the kernel > will feed the watchdog, thus ensuring that either userspace has come > up, or the board gets reset. This allows fallback logic in the > bootloader to attempt some recovery (for example, if an automatic > update is in progress, it could roll back to the previous version). > > The patches have been tested on a Raspberry Pi 2 and a Wandboard. > > Changes in v8: Redo on top of 5.0-rc1 - in particular, adapt to the > jiffies->ktime_t conversion (1ff68820 "watchdog: core: make sure the > watchdog_worker is not deferred"). Add a patch to make the hardware > timeout at the deadline as requested by Guenther - which was actually > made very easy by the ktime_t conversion. > > v7 submission at <https://lore.kernel.org/lkml/1511865350-20665-1-git-send-email-rasmus.villemoes@xxxxxxxxx/> > > Rasmus Villemoes (3): > watchdog: introduce watchdog.open_timeout commandline parameter > watchdog: introduce CONFIG_WATCHDOG_OPEN_TIMEOUT > watchdog: make the device time out at open_deadline when open_timeout > is used > > .../watchdog/watchdog-parameters.txt | 9 ++++ > drivers/watchdog/Kconfig | 9 ++++ > drivers/watchdog/watchdog_dev.c | 42 +++++++++++++++---- > 3 files changed, 53 insertions(+), 7 deletions(-) For the whole series: Acked-by: Esben Haabendal <esben@xxxxxxxxxxxx>