Commit 9f812704 authored by Hidehiro Kawai's avatar Hidehiro Kawai Committed by Corey Minyard

ipmi: Fix a problem that messages are not issued in run_to_completion mode

start_next_msg() issues a message placed in smi_info->waiting_msg
if it is non-NULL.  However, sender() sets a message to
smi_info->curr_msg and NULL to smi_info->waiting_msg in the context
of run_to_completion mode.  As the result, it leads an infinite
loop by waiting the completion of unissued message when leaving
dying message after kernel panic.

sender() should set the message to smi_info->waiting_msg not
curr_msg.
Signed-off-by: default avatarHidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
parent a182a4b2
...@@ -942,8 +942,7 @@ static void sender(void *send_info, ...@@ -942,8 +942,7 @@ static void sender(void *send_info,
* If we are running to completion, start it and run * If we are running to completion, start it and run
* transactions until everything is clear. * transactions until everything is clear.
*/ */
smi_info->curr_msg = msg; smi_info->waiting_msg = msg;
smi_info->waiting_msg = NULL;
/* /*
* Run to completion means we are single-threaded, no * Run to completion means we are single-threaded, no
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment