Source: linux Version: 4.7.5-1 Hi,
I have a Gigabyte MP30-AR1 board with an ARM64 X-Gene1 processor. To access its temperature, fan and voltage sensors using IPMI the following kernel configs are needed: CONFIG_MAILBOX=y CONFIG_XGENE_SLIMPRO_MBOX=m CONFIG_I2C_XGENE_SLIMPRO=m CONFIG_IPMI_HANDLER=m CONFIG_IPMI_SSIF=m CONFIG_IPMI_DEVICE_INTERFACE=m It should then possible to read the sensors using # ipmi-sensors --driver-type=OPENIPMI --driver-device=/dev/ipmi0 ..but in practice it seems to fail due to a buffer overrun: --- drivers/i2c/busses/i2c-xgene-slimpro.c.orig 2016-10-07 18:25:09.357520311 +0000 +++ drivers/i2c/busses/i2c-xgene-slimpro.c 2016-10-07 18:25:22.425573533 +0000 @@ -105,7 +105,7 @@ struct mbox_chan *mbox_chan; struct mbox_client mbox_client; struct completion rd_complete; - u8 dma_buffer[I2C_SMBUS_BLOCK_MAX]; + u8 dma_buffer[I2C_SMBUS_BLOCK_MAX+2]; u32 *resp_msg; }; I'm in the process of reporting this upstream. The processor also has error detection and correction for its main memory and caches; this can be enabled with: CONFIG_EDAC=y CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_XGENE=m I've also turned this on, though I don't know if it does much: CONFIG_XGENE_DMA=m Note that I'm currently using 4.7.5, but I'm reasonably sure that none of this has changed significantly in 4.8. Please consider enabling these configs, and possibly the i2c patch, in the Debian kernel. Thanks, Phil.