2011-03-10 19:13:14

by Corey Minyard

[permalink] [raw]
Subject: [PATCH] ipmi: Fix IPMI errors due to timing problems

From: Doe, YiCheng <[email protected]>

This patch fixes an issue in OpenIPMI module where sometimes an ABORT command
is sent after sending an IPMI request to BMC causing the IPMI request to fail.

Signed-off-by: YiCheng Doe <[email protected]>
Signed-off-by: Corey Minyard <[email protected]>
Acked-by: Tom Mingarelli <[email protected]>
Tested-by: Andy Cress <[email protected]>
Tested-by: Mika Lansirine <[email protected]>
Tested-by: Brian De Wolf <[email protected]>
Cc: Jean Michel Audet <[email protected]>
Cc: Jozef Sudelsky <[email protected]>
Cc: Matthew Garrett <[email protected]>
---
drivers/char/ipmi/ipmi_si_intf.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index 7855f9f..5b88096 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -900,6 +900,14 @@ static void sender(void *send_info,
printk("**Enqueue: %d.%9.9d\n", t.tv_sec, t.tv_usec);
#endif

+ /*
+ * last_timeout_jiffies is updated here to avoid
+ * smi_timeout() handler passing very large time_diff
+ * value to smi_event_handler() that causes
+ * the send command to abort.
+ */
+ smi_info->last_timeout_jiffies ?iffies;
+
mod_timer(&smi_info->si_timer, jiffies + SI_TIMEOUT_JIFFIES);

if (smi_info->thread)
--
1.7.1


2011-03-10 19:17:37

by Matthew Garrett

[permalink] [raw]
Subject: Re: [PATCH] ipmi: Fix IPMI errors due to timing problems

On Thu, Mar 10, 2011 at 01:12:50PM -0600, Corey Minyard wrote:

> + smi_info->last_timeout_jiffies ?iffies;

Something looks mangled here? Otherwise, ACK.

--
Matthew Garrett | [email protected]

2011-03-10 19:27:10

by Corey Minyard

[permalink] [raw]
Subject: Re: [PATCH] ipmi: Fix IPMI errors due to timing problems

On 03/10/2011 01:17 PM, Matthew Garrett wrote:
> On Thu, Mar 10, 2011 at 01:12:50PM -0600, Corey Minyard wrote:
>
>> + smi_info->last_timeout_jiffies ?iffies;
> Something looks mangled here? Otherwise, ACK.
>
I have no idea how that happened, but it wasn't that way before I
compiled with it. I guess I'll resend.

-corey

2011-03-10 20:21:32

by Matthew Garrett

[permalink] [raw]
Subject: Re: [PATCH] ipmi: Fix IPMI errors due to timing problems

On Thu, Mar 10, 2011 at 02:00:21PM -0600, Corey Minyard wrote:
> From: Doe, YiCheng <[email protected]>
>
> This patch fixes an issue in OpenIPMI module where sometimes an ABORT command
> is sent after sending an IPMI request to BMC causing the IPMI request to fail.
>
> Signed-off-by: YiCheng Doe <[email protected]>
> Signed-off-by: Corey Minyard <[email protected]>
> Acked-by: Tom Mingarelli <[email protected]>
> Tested-by: Andy Cress <[email protected]>
> Tested-by: Mika Lansirine <[email protected]>
> Tested-by: Brian De Wolf <[email protected]>
> Cc: Jean Michel Audet <[email protected]>
> Cc: Jozef Sudelsky <[email protected]>
> Cc: Matthew Garrett <[email protected]>

Acked-by: Matthew Garrett <[email protected]>

--
Matthew Garrett | [email protected]