Executive brief
A vulnerability in the Linux kernel's I2C driver for i.MX platforms could cause systems to hang during power management transitions. When a device enters or leaves a sleep state, certain background tasks might attempt to communicate with hardware that is already powered down. This results in a system freeze, potentially impacting the availability of industrial or embedded devices using these processors.
Technical details
A race condition exists in the i2c-imx-lpi2c driver during system suspend and resume transitions. Specifically, a time window exists between the 'suspend_noirq' phase and actual suspension (and vice versa during resume) where hardware resources like clocks and pinctrl are disabled, but periodic workqueues from I2C client drivers may still attempt transfers. This results in the driver attempting to access I2C registers while hardware is unavailable, causing a system hang. The fix involves explicitly marking the I2C adapter as suspended during the noirq phase to block new transfers until the hardware is fully restored. Patches have been merged into stable kernel branches including 6.18.39 and 7.1.4.
Affected products
- Linux Linux 6.14 to 6.18.39, 7.1.4, 7.2-rc1
Timeline
- 2026-07-25: disclosed
- 2026-07-25: advisory
- 2026-06-17: patched: Initial fix committed to mainline kernel tree.