diff options
Diffstat (limited to 'drivers/watchdog')
| -rw-r--r-- | drivers/watchdog/hpwdt.c | 3 | ||||
| -rw-r--r-- | drivers/watchdog/watchdog_core.c | 3 | 
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c index 1eff743ec49..ae60406ea8a 100644 --- a/drivers/watchdog/hpwdt.c +++ b/drivers/watchdog/hpwdt.c @@ -814,6 +814,9 @@ static int __devinit hpwdt_init_one(struct pci_dev *dev,  	hpwdt_timer_reg = pci_mem_addr + 0x70;  	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 */  	if (hpwdt_change_timer(soft_margin))  		hpwdt_change_timer(DEFAULT_MARGIN); diff --git a/drivers/watchdog/watchdog_core.c b/drivers/watchdog/watchdog_core.c index 6aa46a90ff0..3796434991f 100644 --- a/drivers/watchdog/watchdog_core.c +++ b/drivers/watchdog/watchdog_core.c @@ -128,11 +128,12 @@ EXPORT_SYMBOL_GPL(watchdog_register_device);  void watchdog_unregister_device(struct watchdog_device *wdd)  {  	int ret; -	int devno = wdd->cdev.dev; +	int devno;  	if (wdd == NULL)  		return; +	devno = wdd->cdev.dev;  	ret = watchdog_dev_unregister(wdd);  	if (ret)  		pr_err("error unregistering /dev/watchdog (err=%d)\n", ret);  |