aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/ipmi/ipmi_si_intf.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-09-17 01:06:01 -0400
committerJeff Garzik <jeff@garzik.org>2006-09-17 01:06:01 -0400
commitf50e5ea14baa321c5f0ff71707a83b02bf5b9398 (patch)
tree2019c5bc11d99a353f3274853e913f489ed103ce /drivers/char/ipmi/ipmi_si_intf.c
parentecf7f354e228ac9e80d2d25a0a0cbc8c876e9ab4 (diff)
parent803db244b9f71102e366fd689000c1417b9a7508 (diff)
downloadkernel_samsung_smdk4412-f50e5ea14baa321c5f0ff71707a83b02bf5b9398.tar.gz
kernel_samsung_smdk4412-f50e5ea14baa321c5f0ff71707a83b02bf5b9398.tar.bz2
kernel_samsung_smdk4412-f50e5ea14baa321c5f0ff71707a83b02bf5b9398.zip
Merge branch 'upstream-fixes' into upstream
Diffstat (limited to 'drivers/char/ipmi/ipmi_si_intf.c')
-rw-r--r--drivers/char/ipmi/ipmi_si_intf.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index f57eba0bf25..abca98beac1 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -402,10 +402,10 @@ static void handle_flags(struct smi_info *smi_info)
smi_info->curr_msg->data,
smi_info->curr_msg->data_size);
smi_info->si_state = SI_GETTING_EVENTS;
- } else if (smi_info->msg_flags & OEM_DATA_AVAIL) {
- if (smi_info->oem_data_avail_handler)
- if (smi_info->oem_data_avail_handler(smi_info))
- goto retry;
+ } else if (smi_info->msg_flags & OEM_DATA_AVAIL &&
+ smi_info->oem_data_avail_handler) {
+ if (smi_info->oem_data_avail_handler(smi_info))
+ goto retry;
} else {
smi_info->si_state = SI_NORMAL;
}
@@ -2481,6 +2481,7 @@ static __devinit int init_ipmi_si(void)
#ifdef CONFIG_PCI
pci_unregister_driver(&ipmi_pci_driver);
#endif
+ driver_unregister(&ipmi_driver);
printk("ipmi_si: Unable to find any System Interface(s)\n");
return -ENODEV;
} else {