]> Pileus Git - ~andy/linux/blobdiff - drivers/watchdog/nv_tco.c
watchdog: Fix POST failure on ASUS P5N32-E SLI and similar boards
[~andy/linux] / drivers / watchdog / nv_tco.c
index afa78a54711e1f51097eb9425ebe3f4b8fa0b72a..809f41c30c4433dfb3e45b53835935608f95753e 100644 (file)
@@ -458,7 +458,15 @@ static int __devexit nv_tco_remove(struct platform_device *dev)
 
 static void nv_tco_shutdown(struct platform_device *dev)
 {
+       u32 val;
+
        tco_timer_stop();
+
+       /* Some BIOSes fail the POST (once) if the NO_REBOOT flag is not
+        * unset during shutdown. */
+       pci_read_config_dword(tco_pci, MCP51_SMBUS_SETUP_B, &val);
+       val &= ~MCP51_SMBUS_SETUP_B_TCO_REBOOT;
+       pci_write_config_dword(tco_pci, MCP51_SMBUS_SETUP_B, val);
 }
 
 static struct platform_driver nv_tco_driver = {