The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH] IPMI: retry messages on certain error returns
@ 2006-11-08 21:36 Corey Minyard
  0 siblings, 0 replies; only message in thread
From: Corey Minyard @ 2006-11-08 21:36 UTC (permalink / raw)
  To: Linux Kernel, Andrew Morton; +Cc: Frederic Lelievre

Some errors more from the IPMI send message command are retryable,
but are not being retried by the IPMI code.  Make sure they get
retried.

Signed-off-by: Corey Minyard <minyard@acm.org>
Cc: Frederic Lelievre <Frederic.Lelievre@ca.kontron.com>

Index: linux-2.6.18/drivers/char/ipmi/ipmi_msghandler.c
===================================================================
--- linux-2.6.18.orig/drivers/char/ipmi/ipmi_msghandler.c
+++ linux-2.6.18/drivers/char/ipmi/ipmi_msghandler.c
@@ -3468,7 +3468,9 @@ void ipmi_smi_msg_received(ipmi_smi_t   
                    report the error immediately. */
 		if ((msg->rsp_size >= 3) && (msg->rsp[2] != 0)
 		    && (msg->rsp[2] != IPMI_NODE_BUSY_ERR)
-		    && (msg->rsp[2] != IPMI_LOST_ARBITRATION_ERR))
+		    && (msg->rsp[2] != IPMI_LOST_ARBITRATION_ERR)
+		    && (msg->rsp[2] != IPMI_BUS_ERR)
+		    && (msg->rsp[2] != IPMI_NAK_ON_WRITE_ERR))
 		{
 			int chan = msg->rsp[3] & 0xf;
 
Index: linux-2.6.18/include/linux/ipmi_msgdefs.h
===================================================================
--- linux-2.6.18.orig/include/linux/ipmi_msgdefs.h
+++ linux-2.6.18/include/linux/ipmi_msgdefs.h
@@ -80,6 +80,8 @@
 #define IPMI_INVALID_COMMAND_ERR	0xc1
 #define IPMI_ERR_MSG_TRUNCATED		0xc6
 #define IPMI_LOST_ARBITRATION_ERR	0x81
+#define IPMI_BUS_ERR			0x82
+#define IPMI_NAK_ON_WRITE_ERR		0x83
 #define IPMI_ERR_UNSPECIFIED		0xff
 
 #define IPMI_CHANNEL_PROTOCOL_IPMB	1

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-11-08 22:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-08 21:36 [PATCH] IPMI: retry messages on certain error returns Corey Minyard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox