summaryrefslogtreecommitdiffstats
path: root/drivers/char/ipmi
diff options
context:
space:
mode:
authorSrinivas_Gowda <srinivas_g_gowda@dell.com>2012-03-28 23:42:48 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-29 02:14:36 +0200
commitb88e769368a88cf28e53db158b84eda096144bce (patch)
tree09a424242dc4ab2711f82cd727ecf52f9de4a2cf /drivers/char/ipmi
parentkdump x86: fix total mem size calculation for reservation (diff)
downloadlinux-b88e769368a88cf28e53db158b84eda096144bce.tar.xz
linux-b88e769368a88cf28e53db158b84eda096144bce.zip
ipmi: decrease the IPMI message transaction time in interrupt mode
Call the event handler immediately after starting the next message. This change considerably decreases the IPMI transaction time (cuts off ~9ms for a single ipmitool transaction). Signed-off-by: Srinivas_Gowda <srinivas_g_gowda@dell.com> Signed-off-by: Corey Minyard <cminyard@mvista.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/ipmi')
-rw-r--r--drivers/char/ipmi/ipmi_si_intf.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index 50fcf9c04569..73ebbb1a3269 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -932,8 +932,10 @@ static void sender(void *send_info,
spin_unlock_irqrestore(&smi_info->msg_lock, flags);
spin_lock_irqsave(&smi_info->si_lock, flags);
- if (smi_info->si_state == SI_NORMAL && smi_info->curr_msg == NULL)
+ if (smi_info->si_state == SI_NORMAL && smi_info->curr_msg == NULL) {
start_next_msg(smi_info);
+ smi_event_handler(smi_info, 0);
+ }
spin_unlock_irqrestore(&smi_info->si_lock, flags);
}