[Skiboot] [PATCH v3 3/3] hw/bt: Do not disable ipmi message retry during OPAL boot

Vasant Hegde hegdevasant at linux.vnet.ibm.com
Thu Feb 28 14:00:10 AEDT 2019


Currently OPAL doesn't know whether BMC is functioning or not. If BMC is
down (like BMC reboot), then we keep on retry sending message to BMC. So
in some corner cases we may hit hard lockup issue in kernel.

Ideally we should avoid using synchronous path as much as possible. But
for now commit 01f977c3 added option to disable message retry in synchronous.
But this fix is not required during boot. Hence lets disable IPMI message
retry during OPAL boot.

Fixes: 01f977c3 (hw/bt: Add backend interface to disable ipmi message)
Signed-off-by: Vasant Hegde <hegdevasant at linux.vnet.ibm.com>
---
 core/ipmi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/core/ipmi.c b/core/ipmi.c
index 27cb4268f..599d2e97f 100644
--- a/core/ipmi.c
+++ b/core/ipmi.c
@@ -24,6 +24,7 @@
 #include <lock.h>
 #include <cpu.h>
 #include <timebase.h>
+#include <debug_descriptor.h>
 
 struct ipmi_backend *ipmi_backend = NULL;
 static struct lock sync_lock = LOCK_UNLOCKED;
@@ -176,7 +177,7 @@ void ipmi_queue_msg_sync(struct ipmi_msg *msg)
 	lock(&sync_lock);
 	while (sync_msg);
 	sync_msg = msg;
-	if (msg->backend->disable_retry)
+	if (msg->backend->disable_retry && !opal_booting())
 		msg->backend->disable_retry(msg);
 	ipmi_queue_msg_head(msg);
 	unlock(&sync_lock);
-- 
2.14.3



More information about the Skiboot mailing list