IPMI driver version 21
Linus,
Attached is an update to the IPMI driver to bring it to version 21. This release fixes some problems in the watchdog, before you had to ping the watchdog twice before it would actually start. It also fixes some interrupt saving flags that were not "unsigned long", and it removes some cruft. This is against 2.5.68.
Thanks,
-Corey
drivers/char/ipmi/ipmi_kcs_intf.c +0 -12
@@ -629,18 +629,6 @@atomic_set (&kcs_info->req_events,1 ); } -static int new_user (void *send_info) -{ -if (!try_module_get (THIS_MODULE )) -return -EBUSY ; -return 0 ; -} - -static void user_left (void *send_info) -{ -module_put (THIS_MODULE ); -} -static int initialized =0 ;/* Must be called with interrupts off and with the kcs_lock held. */
drivers/char/ipmi/ipmi_msghandler.c +7 -6
@@ -174,8 +174,8 @@int ipmi_register_all_cmd_rcvr (ipmi_user_t user) { -int flags; -int rv = -EBUSY ; +unsigned long flags; +int rv = -EBUSY ;write_lock_irqsave (&(user->intf->users_lock), flags);write_lock (&(user->intf->cmd_rcvr_lock));
@@ -193,8 +193,8 @@int ipmi_unregister_all_cmd_rcvr (ipmi_user_t user) { -int flags; -int rv = -EINVAL ; +unsigned long flags; +int rv = -EINVAL ;write_lock_irqsave (&(user->intf->users_lock), flags);write_lock (&(user->intf->cmd_rcvr_lock));
@@ -431,6 +431,7 @@ {struct seq_table *ent = &(intf->seq_table[seq]); ent->timeout = ent->orig_timeout; + rv =0 ; }spin_unlock_irqrestore (&(intf->seq_lock), flags);
@@ -1023,7 +1024,7 @@int rv;ipmi_smi_t new_intf;struct list_head *entry; -unsigned int flags; +unsigned long flags;/* Make sure the driver is actually initialized, this handles
@@ -1148,7 +1149,7 @@int rv = -ENODEV ;int i;struct list_head *entry; -unsigned int flags; +unsigned long flags;down_write (&interfaces_sem);if (list_empty (&(intf->users)))
drivers/char/ipmi/ipmi_watchdog.c +42 -26
179 lines not on this page · raw message