summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorVasant Hegde <hegdevasant@linux.vnet.ibm.com>2019-02-28 08:30:10 +0530
committerStewart Smith <stewart@linux.ibm.com>2019-03-01 16:00:59 +1100
commitc0ab7b45db3dc44daf001f61324bd1418091dede (patch)
tree4ab0c0ca181925ad46923d30af4b4da8f5a4a0c3 /core
parent968c30905d7a61d777606a5f5c7949027564efd8 (diff)
downloadtalos-skiboot-c0ab7b45db3dc44daf001f61324bd1418091dede.tar.gz
talos-skiboot-c0ab7b45db3dc44daf001f61324bd1418091dede.zip
hw/bt: Do not disable ipmi message retry during OPAL boot
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>
Diffstat (limited to 'core')
-rw-r--r--core/ipmi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/ipmi.c b/core/ipmi.c
index 27cb4268..599d2e97 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);
OpenPOWER on IntegriCloud