Well, no that's not the case. This is in the "not" clause of that if statement, where the I2C address is not in the slave address field. This seems to just be the case of an incorrect value in the slave address field. Unfortunately, your change will break correct systems.
I'm not exactly sure what to do about this. You might say there's a bug here, as if the slave address is hard-coded by the user from the command line, this will override it. It might be best to say: if (!slave_addrs[i]) slave_addrs[i] = data[6]; and then hard-code it on the command line or module load line. -corey Brian Hamon (brhamon) wrote: > > We’ve got a relatively old system which we’ve been upgrading to a more > recent kernel. When we were applying the OpenIPMI kernel patches, we > found the following issue. > > It’s a case of a broken BIOS reporting the BMC I2C slave address in > the base address field. The ipmi_smb.c decode_dmi() method tries to > work around this problem, but appears to be off by one bit. My > colleagues Paul Sangree and Trevor Highland deserve the credit for > finding this issue. > > Thanks for all the great work. > > Intel(R) server platform SE7520JR2, BIOS 10.0 build 0087 > > Linux 2.6.29.1 > > --- linux-ipmismb-2.6.30-v39.2.diff 2009-09-30 17:06:42.349841000 -0500 > > +++ linux-ipmismb-2.6.30-v39.3.diff 2009-10-20 18:12:58.730019000 -0500 > > @@ -1686,7 +1686,7 @@ > > + addr[i*2+1] = data[8] >> 1; > > + > > + if (!addr_in_slave_addr) { > > -+ slave_addrs[i] = data[6]; > > ++ slave_addrs[i] = data[6] >> 1; > > + printk(KERN_INFO PFX "DMI specifies SSIF @ 0x%x, " > > + "slave address 0x%x\n", > > + addr[i*2+1], slave_addrs[i]); > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > ------------------------------------------------------------------------ > > _______________________________________________ > Openipmi-developer mailing list > Openipmi-developer@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/openipmi-developer > ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer