Re: [PATCH] ipmi: Cleanup oops on initialization failure

From: Corey Minyard
Date: Thu Jun 21 2018 - 16:16:53 EST


On 06/21/2018 01:47 AM, Meelis Roos wrote:
The corresponding dmesg:

[ 7.372830] IPMI System Interface driver.
[ 7.373034] ipmi_si dmi-ipmi-si.0: ipmi_platform: probing via SMBIOS
[ 7.373109] ipmi_si: SMBIOS: mem 0x0 regsize 1 spacing 1 irq 0
[ 7.373182] ipmi_si: Adding SMBIOS-specified kcs state machine
[ 7.373352] ipmi_si: Trying SMBIOS-specified kcs state machine at mem
address 0x0, slave address 0x20, irq 0
[ 7.373479] ipmi_si dmi-ipmi-si.0: Could not set up I/O space

BTW, can you send me at least the IPMI portion of the output of
dmidecode for your machine? I have seen a lot of these where the
address in the SMBIOS tables is incorrect, and I'm wondering if
it's something in the driver, or if it's really the tables that
are bad.
Handle 0x001B, DMI type 38, 18 bytes
IPMI Device Information
Interface Type: KCS (Keyboard Control Style)
Specification Version: 2.0
I2C Slave Address: 0x10
NV Storage Device: Not Present
Base Address: 0x0000000000000000 (Memory-mapped)
Register Spacing: Successive Byte Boundaries
Thanks a bunch. It looks like the SMBIOS tables are wrong. I
wonder if this is what some vendor do if there is no IPMI device
installed. I guess I need to add a check for this.
Another machine (Sun X2100) with similar crash is also cured by the
patch, but this is slightly different (not NULL):

[ 8.891217] IPMI System Interface driver.
[ 8.898404] ipmi_si dmi-ipmi-si.0: ipmi_platform: probing via SMBIOS
[ 8.905635] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[ 8.912895] ipmi_si: Adding SMBIOS-specified kcs state machine
[ 8.920246] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o address 0xca2, slave address 0x20, irq 0
[ 8.934379] ipmi_si dmi-ipmi-si.0: Interface detection failed

IPMI Device Information
Interface Type: KCS (Keyboard Control Style)
Specification Version: 1.5
I2C Slave Address: 0x10
NV Storage Device: Not Present
Base Address: 0x0000000000000CA2 (I/O)
Register Spacing: Successive Byte Boundaries


That's even worse. The SMBIOS table says the interface is there, but it's not
there. Not much I can do about that :(.

Thanks again,

-corey