Commit 4400478ba3d939b680810aa004f1e954b4f8ba16

Authored by Linus Torvalds

Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-watchdog:
  watchdog: Cleanup WATCHDOG_CORE help text
  watchdog: Fix POST failure on ASUS P5N32-E SLI and similar boards
  watchdog: shwdt: fix usage of mod_timer

Showing 3 changed files Side-by-side Diff

drivers/watchdog/Kconfig
... ... @@ -36,9 +36,6 @@
36 36 and gives them the /dev/watchdog interface (and later also the
37 37 sysfs interface).
38 38  
39   - To compile this driver as a module, choose M here: the module will
40   - be called watchdog.
41   -
42 39 config WATCHDOG_NOWAYOUT
43 40 bool "Disable watchdog shutdown on close"
44 41 help
drivers/watchdog/nv_tco.c
... ... @@ -458,7 +458,15 @@
458 458  
459 459 static void nv_tco_shutdown(struct platform_device *dev)
460 460 {
  461 + u32 val;
  462 +
461 463 tco_timer_stop();
  464 +
  465 + /* Some BIOSes fail the POST (once) if the NO_REBOOT flag is not
  466 + * unset during shutdown. */
  467 + pci_read_config_dword(tco_pci, MCP51_SMBUS_SETUP_B, &val);
  468 + val &= ~MCP51_SMBUS_SETUP_B_TCO_REBOOT;
  469 + pci_write_config_dword(tco_pci, MCP51_SMBUS_SETUP_B, val);
462 470 }
463 471  
464 472 static struct platform_driver nv_tco_driver = {
drivers/watchdog/shwdt.c
... ... @@ -64,7 +64,7 @@
64 64 * misses its deadline, the kernel timer will allow the WDT to overflow.
65 65 */
66 66 static int clock_division_ratio = WTCSR_CKS_4096;
67   -#define next_ping_period(cks) msecs_to_jiffies(cks - 4)
  67 +#define next_ping_period(cks) (jiffies + msecs_to_jiffies(cks - 4))
68 68  
69 69 static const struct watchdog_info sh_wdt_info;
70 70 static struct platform_device *sh_wdt_dev;