aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVasant Hegde <hegdevasant@linux.vnet.ibm.com>2019-02-28 08:30:10 +0530
committerVasant Hegde <hegdevasant@linux.vnet.ibm.com>2019-03-04 21:37:14 +0530
commitaf5c2978dbcd6befda14cdc00f6a29868af8ca0a (patch)
tree14c8bcb1e426db59e57a0c221ab831622ee1f7c8
parent28f5fe3a6edc6664b37e81e8fa56d0b095a9f4d5 (diff)
downloadskiboot-af5c2978dbcd6befda14cdc00f6a29868af8ca0a.zip
skiboot-af5c2978dbcd6befda14cdc00f6a29868af8ca0a.tar.gz
skiboot-af5c2978dbcd6befda14cdc00f6a29868af8ca0a.tar.bz2
hw/bt: Do not disable ipmi message retry during OPAL boot
[ Upstream commit c0ab7b45db3dc44daf001f61324bd1418091dede ] 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@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
-rw-r--r--core/ipmi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/ipmi.c b/core/ipmi.c
index 27cb426..599d2e9 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);