From c6cb13aead3a3cf5bd3e2cfa945602d5cd7825cd Mon Sep 17 00:00:00 2001 From: Wim Van Sebroeck Date: Wed, 26 Dec 2007 20:32:51 +0000 Subject: [WATCHDOG] misc_register patch Make sure that we first do a register_reboot_notifier before we do a misc_register. A misc_register opens the interface to userspace and it's best to do this as the last action. Signed-off-by: Wim Van Sebroeck --- drivers/watchdog/alim1535_wdt.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'drivers/watchdog/alim1535_wdt.c') diff --git a/drivers/watchdog/alim1535_wdt.c b/drivers/watchdog/alim1535_wdt.c index b481cc0e32e4..2b1fbdb2fcf7 100644 --- a/drivers/watchdog/alim1535_wdt.c +++ b/drivers/watchdog/alim1535_wdt.c @@ -413,18 +413,18 @@ static int __init watchdog_init(void) /* Calculate the watchdog's timeout */ ali_settimer(timeout); - ret = misc_register(&ali_miscdev); + ret = register_reboot_notifier(&ali_notifier); if (ret != 0) { - printk(KERN_ERR PFX "cannot register miscdev on minor=%d (err=%d)\n", - WATCHDOG_MINOR, ret); + printk(KERN_ERR PFX "cannot register reboot notifier (err=%d)\n", + ret); goto out; } - ret = register_reboot_notifier(&ali_notifier); + ret = misc_register(&ali_miscdev); if (ret != 0) { - printk(KERN_ERR PFX "cannot register reboot notifier (err=%d)\n", - ret); - goto unreg_miscdev; + printk(KERN_ERR PFX "cannot register miscdev on minor=%d (err=%d)\n", + WATCHDOG_MINOR, ret); + goto unreg_reboot; } printk(KERN_INFO PFX "initialized. timeout=%d sec (nowayout=%d)\n", @@ -432,8 +432,8 @@ static int __init watchdog_init(void) out: return ret; -unreg_miscdev: - misc_deregister(&ali_miscdev); +unreg_reboot: + unregister_reboot_notifier(&ali_notifier); goto out; } @@ -449,8 +449,8 @@ static void __exit watchdog_exit(void) ali_stop(); /* Deregister */ - unregister_reboot_notifier(&ali_notifier); misc_deregister(&ali_miscdev); + unregister_reboot_notifier(&ali_notifier); pci_dev_put(ali_pci); } -- cgit v1.2.3