summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-02-08 09:17:46 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2026-02-08 09:17:46 -0800
commite98f34af61167aee238e666bfbc97d1620afd88a (patch)
tree64e0bbc6a2f1b7cbd42633c60a4b8d90114aa14c
parente7aa57247700733e52a8e2e4dee6a52c2a76de02 (diff)
parentb126097b0327437048bd045a0e4d273dea2910dd (diff)
Merge tag 'i2c-for-6.19-final' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fix from Wolfram Sang: - imx: preserve error state during SMBus block read length handling * tag 'i2c-for-6.19-final' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: imx: preserve error state in block data length handler
-rw-r--r--drivers/i2c/busses/i2c-imx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
index dcce882f3eba..85f554044cf1 100644
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -1103,7 +1103,8 @@ static irqreturn_t i2c_imx_master_isr(struct imx_i2c_struct *i2c_imx, unsigned i
case IMX_I2C_STATE_READ_BLOCK_DATA_LEN:
i2c_imx_isr_read_block_data_len(i2c_imx);
- i2c_imx->state = IMX_I2C_STATE_READ_CONTINUE;
+ if (i2c_imx->state == IMX_I2C_STATE_READ_BLOCK_DATA_LEN)
+ i2c_imx->state = IMX_I2C_STATE_READ_CONTINUE;
break;
case IMX_I2C_STATE_WRITE: