[PATCH V2 0/2] i2c: imx: Fix block read handling for invalid length

LI Qingwu Qing-wu.Li at leica-geosystems.com.cn
Fri Jan 16 01:17:02 PST 2026


This series fixes a crash and bus lockup when SMBus block read operations
encounter invalid length values (zero or greater than I2C_SMBUS_BLOCK_MAX).

Both patches have been tested on i.MX 8M Plus with continuous block read
operations from battery and keyboard devices sharing the same I2C bus.

Changes in v2:
  - Split into two patches for clearer separation of concerns
  - Add detailed comments with reference manual citations
  - Implement abort handling in a dedicated ISR state and handler function
  - Remove modifications to i2c_imx_stop() to avoid affecting normal stop

LI Qingwu (2):
  i2c: imx: preserve error state in block data length handler
  i2c: imx: add abort path for invalid block length

 drivers/i2c/busses/i2c-imx.c | 58 ++++++++++++++++++++++++++++++++++--
 1 file changed, 55 insertions(+), 3 deletions(-)

-- 
2.43.0




More information about the linux-arm-kernel mailing list