Commit ccce27c0 authored by Linus Torvalds's avatar Linus Torvalds

Merge git://www.linux-watchdog.org/linux-watchdog

Pull watchdog fixes from Wim Van Sebroeck:
 "This fixes:
   - the WDIOC_GETSTATUS return value
   - the unregister of all NMI events on exit
   - the loading of the iTCO_wdt driver after the conversion to the
     lpc_ich mfd model."

* git://www.linux-watchdog.org/linux-watchdog:
  watchdog: core: fix WDIOC_GETSTATUS return value
  watchdog: hpwdt: Unregister NMI events on exit.
  watchdog: iTCO_wdt: add platform driver module alias
parents 221d3ebf 8b9468d4
...@@ -146,7 +146,7 @@ struct cmn_registers { ...@@ -146,7 +146,7 @@ struct cmn_registers {
} __attribute__((packed)); } __attribute__((packed));
static unsigned int hpwdt_nmi_decoding; static unsigned int hpwdt_nmi_decoding;
static unsigned int allow_kdump; static unsigned int allow_kdump = 1;
static unsigned int is_icru; static unsigned int is_icru;
static DEFINE_SPINLOCK(rom_lock); static DEFINE_SPINLOCK(rom_lock);
static void *cru_rom_addr; static void *cru_rom_addr;
...@@ -756,6 +756,8 @@ static int __devinit hpwdt_init_nmi_decoding(struct pci_dev *dev) ...@@ -756,6 +756,8 @@ static int __devinit hpwdt_init_nmi_decoding(struct pci_dev *dev)
static void hpwdt_exit_nmi_decoding(void) static void hpwdt_exit_nmi_decoding(void)
{ {
unregister_nmi_handler(NMI_UNKNOWN, "hpwdt"); unregister_nmi_handler(NMI_UNKNOWN, "hpwdt");
unregister_nmi_handler(NMI_SERR, "hpwdt");
unregister_nmi_handler(NMI_IO_CHECK, "hpwdt");
if (cru_rom_addr) if (cru_rom_addr)
iounmap(cru_rom_addr); iounmap(cru_rom_addr);
} }
......
...@@ -699,3 +699,4 @@ MODULE_DESCRIPTION("Intel TCO WatchDog Timer Driver"); ...@@ -699,3 +699,4 @@ MODULE_DESCRIPTION("Intel TCO WatchDog Timer Driver");
MODULE_VERSION(DRV_VERSION); MODULE_VERSION(DRV_VERSION);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
MODULE_ALIAS("platform:" DRV_NAME);
...@@ -349,7 +349,7 @@ static long watchdog_ioctl(struct file *file, unsigned int cmd, ...@@ -349,7 +349,7 @@ static long watchdog_ioctl(struct file *file, unsigned int cmd,
sizeof(struct watchdog_info)) ? -EFAULT : 0; sizeof(struct watchdog_info)) ? -EFAULT : 0;
case WDIOC_GETSTATUS: case WDIOC_GETSTATUS:
err = watchdog_get_status(wdd, &val); err = watchdog_get_status(wdd, &val);
if (err) if (err == -ENODEV)
return err; return err;
return put_user(val, p); return put_user(val, p);
case WDIOC_GETBOOTSTATUS: case WDIOC_GETBOOTSTATUS:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment