ipmi diff that needs testing

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

ipmi diff that needs testing

Marco Peereboom-3
During some tests we found some misbehaving boxes (sun & ibm).

This diff fixes the sun issues but it needs wider testing on other boxes with a
KCS transport.  If you have a box with a similar line in dmesg:
ipmi0 at mainbus0: version 1.5 interface KCS iobase 0xca2/2 spacing 1
                                         ^^^
Please run this diff and report back.

All modern Dell PowerEdge servers use KCS so if you have a 2850, 1850 or
something along those lines please give it a twirl.

/marco

Index: ipmi.c
===================================================================
RCS file: /cvs/src/sys/dev/ipmi.c,v
retrieving revision 1.24
diff -u -p -u -p -r1.24 ipmi.c
--- ipmi.c 13 Dec 2005 04:00:18 -0000 1.24
+++ ipmi.c 13 Dec 2005 18:42:04 -0000
@@ -573,7 +573,7 @@ kcs_wait(struct ipmi_softc *sc, u_int8_t
  return (v);
 
  /* Check if output buffer full, read dummy byte */
- if (value == 0 && (v & KCS_OBF))
+ if ((v & (KCS_OBF | KCS_STATE_MASK)) == (KCS_OBF | KCS_WRITE_STATE))
  bmc_read(sc, _KCS_DATAIN_REGISTER);
 
  /* Check for error state */