diff options
author | Wim Van Sebroeck <wim@iguana.be> | 2007-12-26 15:32:51 -0500 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2008-01-25 15:31:50 -0500 |
commit | c6cb13aead3a3cf5bd3e2cfa945602d5cd7825cd (patch) | |
tree | ecff4a444e33d0ca24925e92fee4f9021ba981b8 /drivers/watchdog/alim7101_wdt.c | |
parent | 01c785dcb4e9fd6c4c370fd9915fc10585ed64bd (diff) |
[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 <wim@iguana.be>
Diffstat (limited to 'drivers/watchdog/alim7101_wdt.c')
-rw-r--r-- | drivers/watchdog/alim7101_wdt.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/watchdog/alim7101_wdt.c b/drivers/watchdog/alim7101_wdt.c index 67aed9f8c362..238273c98656 100644 --- a/drivers/watchdog/alim7101_wdt.c +++ b/drivers/watchdog/alim7101_wdt.c | |||
@@ -377,18 +377,18 @@ static int __init alim7101_wdt_init(void) | |||
377 | timeout); | 377 | timeout); |
378 | } | 378 | } |
379 | 379 | ||
380 | rc = misc_register(&wdt_miscdev); | 380 | rc = register_reboot_notifier(&wdt_notifier); |
381 | if (rc) { | 381 | if (rc) { |
382 | printk(KERN_ERR PFX "cannot register miscdev on minor=%d (err=%d)\n", | 382 | printk(KERN_ERR PFX "cannot register reboot notifier (err=%d)\n", |
383 | wdt_miscdev.minor, rc); | 383 | rc); |
384 | goto err_out; | 384 | goto err_out; |
385 | } | 385 | } |
386 | 386 | ||
387 | rc = register_reboot_notifier(&wdt_notifier); | 387 | rc = misc_register(&wdt_miscdev); |
388 | if (rc) { | 388 | if (rc) { |
389 | printk(KERN_ERR PFX "cannot register reboot notifier (err=%d)\n", | 389 | printk(KERN_ERR PFX "cannot register miscdev on minor=%d (err=%d)\n", |
390 | rc); | 390 | wdt_miscdev.minor, rc); |
391 | goto err_out_miscdev; | 391 | goto err_out_reboot; |
392 | } | 392 | } |
393 | 393 | ||
394 | if (nowayout) { | 394 | if (nowayout) { |
@@ -399,8 +399,8 @@ static int __init alim7101_wdt_init(void) | |||
399 | timeout, nowayout); | 399 | timeout, nowayout); |
400 | return 0; | 400 | return 0; |
401 | 401 | ||
402 | err_out_miscdev: | 402 | err_out_reboot: |
403 | misc_deregister(&wdt_miscdev); | 403 | unregister_reboot_notifier(&wdt_notifier); |
404 | err_out: | 404 | err_out: |
405 | pci_dev_put(alim7101_pmu); | 405 | pci_dev_put(alim7101_pmu); |
406 | return rc; | 406 | return rc; |