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

From: LI Qingwu

Date: Fri Jan 16 2026 - 04:17:10 EST


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