82802f968b
When flushing queued messages in run-to-completion mode, smi_event_handler() is recursively called. flush_messages() smi_event_handler() handle_transaction_done() deliver_recv_msg() ipmi_smi_msg_received() smi_recv_tasklet() sender() flush_messages() smi_event_handler() ... The depth of the recursive call depends on the number of queued messages, so it can cause a stack overflow if many messages have been queued. To solve this problem, this patch removes flush_messages() from sender()@ipmi_si_intf.c. Instead, add flush_messages() to caller side of sender() if needed. Additionally, to implement this, add new handler flush_messages to struct ipmi_smi_handlers. Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com> Fixed up a comment and some spacing issues. Signed-off-by: Corey Minyard <cminyard@mvista.com> |
||
---|---|---|
.. | ||
ipmi_bt_sm.c | ||
ipmi_devintf.c | ||
ipmi_kcs_sm.c | ||
ipmi_msghandler.c | ||
ipmi_powernv.c | ||
ipmi_poweroff.c | ||
ipmi_si_intf.c | ||
ipmi_si_sm.h | ||
ipmi_smic_sm.c | ||
ipmi_ssif.c | ||
ipmi_watchdog.c | ||
Kconfig | ||
Makefile |