Message ID | 20190221160618.20117-3-hegdevasant@linux.vnet.ibm.com |
---|---|
State | Changes Requested |
Headers | show |
Series | [v2,1/3] hw/bt: Fix bt_add_ipmi_msg_head() logic | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | master/apply_patch Successfully applied |
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot | success | Test snowpatch/job/snowpatch-skiboot on branch master |
On Fri, 22 Feb 2019, at 02:37, Vasant Hegde wrote: > Lets not disable IPMI message retry during OPAL boot. What bug did we encounter? I feel like you could expand a bit more here on why, though I am lacking a lot of context. > > Fixes: 01f977c3 (hw/bt: Add backend interface to disable ipmi message) > Signed-off-by: Vasant Hegde <hegdevasant@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 > > _______________________________________________ > Skiboot mailing list > Skiboot@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/skiboot >
On 02/22/2019 06:05 AM, Andrew Jeffery wrote: > On Fri, 22 Feb 2019, at 02:37, Vasant Hegde wrote: >> Lets not disable IPMI message retry during OPAL boot. > > What bug did we encounter? I feel like you could expand a bit more here > on why, though I am lacking a lot of context. Sure. I was trying to fix the possible kernel hard lockup issues. Currently OPAL doesn't know whether BMC is functioning or not. If BMC is down and we keep on retrying sending message to BMC, we will hit hardlockup issue in kernel. So for now, I have added option to disable message retry in synchronous. On long run we should get rid of synchronous. Now this fix is not required in boot path. So I decided to get rid of this check in boot path. Hope this clarifies. -Vasant
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);
Lets not 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> --- core/ipmi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)