From 4940b8148640c06e139aec8c6d0370af7dd3b184 Mon Sep 17 00:00:00 2001 From: Ananth N Mavinakayanahalli Date: Wed, 15 Mar 2017 07:51:34 +0530 Subject: hw/fsp: Do not queue SP and SPCN class messages during reset/reload During FSP R/R, the FSP is inaccessible and will lose state. Messages to the FSP are generally queued for sending later. It does seem like the FSP fails to process any subseuqent messages of certain classes (SP info -- ipmi) if it receives queued mbox messages it isn't expecting. In certain other cases (sensors), the FSP driver returns a default code (async completion) even though there is no known bound from the time of this error return to the actual data being available. The kernel driver keeps waiting leading to soft-lockup on the host side. Mitigate both these (known) cases by returning OPAL_BUSY so the host driver knows to retry later. With this change, the sensors command works fine when the FSP comes back. This version also resolves the remaining IPMI issues Signed-off-by: Ananth N Mavinakayanahalli Tested-by: Pridhiviraj Paidipeddi Signed-off-by: Stewart Smith --- include/fsp.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/fsp.h b/include/fsp.h index 6142ca3..f75b6ad 100644 --- a/include/fsp.h +++ b/include/fsp.h @@ -810,6 +810,7 @@ extern void fsp_ipmi_init(void); extern void fsp_reinit_fsp(void); extern void fsp_trigger_reset(void); extern void fsp_reset_links(void); +extern bool fsp_in_rr(void); /* FSP memory errors */ extern void fsp_memory_err_init(void); -- cgit v1.1