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