[PATCH] ipmi_msghandler: inconsistent spin_lock usage

I found an inconsistent spin_lock usage in ipmi_smi_msg_received.

Signed-off-by: Hironobu Ishii <hishii@soft.fujitsu.com>
Cc: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by Hironobu Ishii and committed by Linus Torvalds e7c96508 67b10813

+3 -3
+3 -3
drivers/char/ipmi/ipmi_msghandler.c
··· 2620 2620 spin_lock_irqsave(&(intf->waiting_msgs_lock), flags); 2621 2621 if (!list_empty(&(intf->waiting_msgs))) { 2622 2622 list_add_tail(&(msg->link), &(intf->waiting_msgs)); 2623 - spin_unlock(&(intf->waiting_msgs_lock)); 2623 + spin_unlock_irqrestore(&(intf->waiting_msgs_lock), flags); 2624 2624 goto out_unlock; 2625 2625 } 2626 2626 spin_unlock_irqrestore(&(intf->waiting_msgs_lock), flags); ··· 2629 2629 if (rv > 0) { 2630 2630 /* Could not handle the message now, just add it to a 2631 2631 list to handle later. */ 2632 - spin_lock(&(intf->waiting_msgs_lock)); 2632 + spin_lock_irqsave(&(intf->waiting_msgs_lock), flags); 2633 2633 list_add_tail(&(msg->link), &(intf->waiting_msgs)); 2634 - spin_unlock(&(intf->waiting_msgs_lock)); 2634 + spin_unlock_irqrestore(&(intf->waiting_msgs_lock), flags); 2635 2635 } else if (rv == 0) { 2636 2636 ipmi_free_smi_msg(msg); 2637 2637 }