* [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