diff options
author | Arnaud Patard <apatard@mandriva.com> | 2006-09-16 15:15:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-16 15:54:30 -0400 |
commit | 55ebcc38a5f6d40e4c41447e413ef842b803980f (patch) | |
tree | 88958844c61fd9772e86a70bde2f274fb8f0d814 /drivers/char/ipmi | |
parent | e1ed7ac77b63abb6b3a2c0b4b070f50da5b1fb2f (diff) |
[PATCH] IPMI: Fix oops on ipmi_msghandler removal for non ipmi systems
When the ipmi_si module is loaded on a system without any ipmi device, it
fails with nodev. It would be fine if all resources were freed. A call to
device_unregister() is missing, resulting to a oops when you remove the
ipmi_msghandler.
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/ipmi')
-rw-r--r-- | drivers/char/ipmi/ipmi_si_intf.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index f57eba0bf253..31b59403b632 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c | |||
@@ -2481,6 +2481,7 @@ static __devinit int init_ipmi_si(void) | |||
2481 | #ifdef CONFIG_PCI | 2481 | #ifdef CONFIG_PCI |
2482 | pci_unregister_driver(&ipmi_pci_driver); | 2482 | pci_unregister_driver(&ipmi_pci_driver); |
2483 | #endif | 2483 | #endif |
2484 | driver_unregister(&ipmi_driver); | ||
2484 | printk("ipmi_si: Unable to find any System Interface(s)\n"); | 2485 | printk("ipmi_si: Unable to find any System Interface(s)\n"); |
2485 | return -ENODEV; | 2486 | return -ENODEV; |
2486 | } else { | 2487 | } else { |