diff mbox series

[v2,3/3] hw/bt: Do not disable ipmi message retry during OPAL boot

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

Checks

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

Commit Message

Vasant Hegde Feb. 21, 2019, 4:06 p.m. UTC
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(-)

Comments

Andrew Jeffery Feb. 22, 2019, 12:35 a.m. UTC | #1
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
>
Vasant Hegde Feb. 25, 2019, 4:37 p.m. UTC | #2
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 mbox series

Patch

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);