diff options
author | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2019-02-28 08:30:10 +0530 |
---|---|---|
committer | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2019-03-04 21:37:14 +0530 |
commit | af5c2978dbcd6befda14cdc00f6a29868af8ca0a (patch) | |
tree | 14c8bcb1e426db59e57a0c221ab831622ee1f7c8 | |
parent | 28f5fe3a6edc6664b37e81e8fa56d0b095a9f4d5 (diff) | |
download | skiboot-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.c | 3 |
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); |