On Wed, Feb 14, 2018 at 09:29:52AM -0600, Ben Gardner wrote: > One I2C bus on my Atom E3845 board has been broken since 4.9. > It has two devices, both declared by ACPI and with built-in drivers. > > There are two back-to-back transactions originating from the kernel, one > targeting each device. The first transaction works, the second one locks > up the I2C controller. The controller never recovers. > > These kernel logs show up whenever an I2C transaction is attempted after > this failure. > i2c-designware-pci 0000:00:18.3: timeout in disabling adapter > i2c-designware-pci 0000:00:18.3: timeout waiting for bus ready > > Waiting for the I2C controller status to indicate that it is enabled > before programming it fixes the issue. > > I have tested this patch on 4.14 and 4.15. > > Fixes: commit 2702ea7dbec5 ("i2c: designware: wait for disable/enable only if necessary") > Cc: linux-stable #4.13+ > Cc: José Roberto de Souza > Signed-off-by: Ben Gardner Applied to for-current, thanks!