diff options
author | Hironobu Ishii <hishii@soft.fujitsu.com> | 2005-11-11 09:12:21 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-11 12:23:31 -0500 |
commit | 177294d19174cf92de22434bb1fc9a8ecdbbe658 (patch) | |
tree | 0d85b7d96db3f6ca48972f4e4667aca0dec707f3 | |
parent | 9b80b11c3faa460cf42904a1e368bf2cd075aff6 (diff) |
[PATCH] ipmi: fix inconsistent spinlock usage
Part of a patch was accidentally reverted, this corrects an
inconsistent spinlock use in the IPMI message handler.
Signed-off-by: Hironobu Ishii <hishii@soft.fujitsu.com>
Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | drivers/char/ipmi/ipmi_msghandler.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c index c1d06ba449b6..d16bd4b5c117 100644 --- a/drivers/char/ipmi/ipmi_msghandler.c +++ b/drivers/char/ipmi/ipmi_msghandler.c | |||
@@ -2648,7 +2648,7 @@ void ipmi_smi_msg_received(ipmi_smi_t intf, | |||
2648 | spin_lock_irqsave(&intf->waiting_msgs_lock, flags); | 2648 | spin_lock_irqsave(&intf->waiting_msgs_lock, flags); |
2649 | if (!list_empty(&intf->waiting_msgs)) { | 2649 | if (!list_empty(&intf->waiting_msgs)) { |
2650 | list_add_tail(&msg->link, &intf->waiting_msgs); | 2650 | list_add_tail(&msg->link, &intf->waiting_msgs); |
2651 | spin_unlock(&intf->waiting_msgs_lock); | 2651 | spin_unlock_irqrestore(&intf->waiting_msgs_lock, flags); |
2652 | goto out; | 2652 | goto out; |
2653 | } | 2653 | } |
2654 | spin_unlock_irqrestore(&intf->waiting_msgs_lock, flags); | 2654 | spin_unlock_irqrestore(&intf->waiting_msgs_lock, flags); |
@@ -2657,9 +2657,9 @@ void ipmi_smi_msg_received(ipmi_smi_t intf, | |||
2657 | if (rv > 0) { | 2657 | if (rv > 0) { |
2658 | /* Could not handle the message now, just add it to a | 2658 | /* Could not handle the message now, just add it to a |
2659 | list to handle later. */ | 2659 | list to handle later. */ |
2660 | spin_lock(&intf->waiting_msgs_lock); | 2660 | spin_lock_irqsave(&intf->waiting_msgs_lock, flags); |
2661 | list_add_tail(&msg->link, &intf->waiting_msgs); | 2661 | list_add_tail(&msg->link, &intf->waiting_msgs); |
2662 | spin_unlock(&intf->waiting_msgs_lock); | 2662 | spin_unlock_irqrestore(&intf->waiting_msgs_lock, flags); |
2663 | } else if (rv == 0) { | 2663 | } else if (rv == 0) { |
2664 | ipmi_free_smi_msg(msg); | 2664 | ipmi_free_smi_msg(msg); |
2665 | } | 2665 | } |