Commit 868f480b authored by Linus Torvalds's avatar Linus Torvalds

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

Pull watchdog fixes from Wim Van Sebroeck:
 "Fix a kdump issue in hpwdt and a possible NULL dereference."

* git://www.linux-watchdog.org/linux-watchdog:
  watchdog: move the dereference below the NULL test
  hpwdt: Fix kdump issue in hpwdt
parents 6d77987f b232a70a
...@@ -814,6 +814,9 @@ static int __devinit hpwdt_init_one(struct pci_dev *dev, ...@@ -814,6 +814,9 @@ static int __devinit hpwdt_init_one(struct pci_dev *dev,
hpwdt_timer_reg = pci_mem_addr + 0x70; hpwdt_timer_reg = pci_mem_addr + 0x70;
hpwdt_timer_con = pci_mem_addr + 0x72; hpwdt_timer_con = pci_mem_addr + 0x72;
/* Make sure that timer is disabled until /dev/watchdog is opened */
hpwdt_stop();
/* Make sure that we have a valid soft_margin */ /* Make sure that we have a valid soft_margin */
if (hpwdt_change_timer(soft_margin)) if (hpwdt_change_timer(soft_margin))
hpwdt_change_timer(DEFAULT_MARGIN); hpwdt_change_timer(DEFAULT_MARGIN);
......
...@@ -128,11 +128,12 @@ EXPORT_SYMBOL_GPL(watchdog_register_device); ...@@ -128,11 +128,12 @@ EXPORT_SYMBOL_GPL(watchdog_register_device);
void watchdog_unregister_device(struct watchdog_device *wdd) void watchdog_unregister_device(struct watchdog_device *wdd)
{ {
int ret; int ret;
int devno = wdd->cdev.dev; int devno;
if (wdd == NULL) if (wdd == NULL)
return; return;
devno = wdd->cdev.dev;
ret = watchdog_dev_unregister(wdd); ret = watchdog_dev_unregister(wdd);
if (ret) if (ret)
pr_err("error unregistering /dev/watchdog (err=%d)\n", ret); pr_err("error unregistering /dev/watchdog (err=%d)\n", ret);
......
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