Hide Forgot
Created attachment 506215 [details] Patch to fix SPMITable struct. Description of problem: drivers/char/ipmi/ipmi_si_intf.c: struct SPMITable { s8 Signature[4]; u32 Length; u8 Revision; u8 Checksum; s8 OEMID[6]; s8 OEMTableID[8]; s8 OEMRevision[4]; s8 CreatorID[4]; s8 CreatorRevision[4]; u8 InterfaceType; u8 IPMIlegacy; s16 SpecificationRevision; [...] According to ftp://download.intel.com/design/servers/ipmi/IPMIv2_0rev1_0.pdf (and also http://sysdoc.doors.ch/HP/hpspmi.pdf formerly referenced in the sources), the order of SPMITable.{IPMIlegacy,Interface} is wrong. The structure should be like this: struct SPMITable { s8 Signature[4]; u32 Length; u8 Revision; u8 Checksum; s8 OEMID[6]; s8 OEMTableID[8]; s8 OEMRevision[4]; s8 CreatorID[4]; s8 CreatorRevision[4]; u8 IPMIlegacy; <=== these two u8 InterfaceType; <=== swapped s16 SpecificationRevision; [...]
It seems I spoke to soon: the latest IPMI specificatin errata at http://download.intel.com/design/servers/ipmi/IPMI2_0E4_061209.pdf shows the order of SPMITable.{InterfaceType,IPMILegacy} is correct in the sources. Thus, this is not a bug.
Closing based on comment #1. P.