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

From: Meelis Roos
Date: Thu Jun 21 2018 - 02:47:57 EST


> > 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



--
Meelis Roos (mroos@xxxxxxxx)