It helps to actually attach the patch....
Corey Minyard wrote:
> Lelievre, Frederic wrote:
>
>> Hi Corey,
>>
>> The previous version of the driver was retrying on the SendMessage failures,
>> no matter the return code received. Now it filters some of the error code
>> such as the lost of arbitration and perform retries on those. The problem is
>> that when the failure is not in the if statement, the code is returned right
>> away without retry (0x82 and 0x83 should pass after retry). Moreover, this
>> is impossible for the application to know that this failure comes from the
>> SendMessage and not from the encapsulated command (the netfn is not changed
>> from the application point of view). The error code is then misinterpreted
>> by the application, if the netfn of the command originally sent as an
>> associated 0x82 or 0x83 error code.
>>
>>
> Ah, sorry for being so thick, I see now.
>
> I don't have the I2C spec, so I don't really know what those codes
> mean. They looked pretty severe to me, so I treated them as hard
> errors. I've added the attached patch to go upstream. I'm copying the
> list so others that know can comment on this.
>
> -Corey
>
>
>
Some errors more from the IPMI send message command are retryable,
but are not being retries by the IPMI code. Make sure they get
retried.
Signed-off-by: Corey Minyard <[EMAIL PROTECTED]>
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
@@ -84,6 +84,8 @@
#define IPMI_TIMEOUT_ERR 0xc3
#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
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer