diff options
| -rw-r--r-- | drivers/i2c/busses/i2c-ismt.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-ismt.c b/drivers/i2c/busses/i2c-ismt.c index 9af2337eb17a..22ffcb73c185 100644 --- a/drivers/i2c/busses/i2c-ismt.c +++ b/drivers/i2c/busses/i2c-ismt.c | |||
| @@ -341,8 +341,10 @@ static int ismt_process_desc(const struct ismt_desc *desc, | |||
| 341 | break; | 341 | break; |
| 342 | case I2C_SMBUS_BLOCK_DATA: | 342 | case I2C_SMBUS_BLOCK_DATA: |
| 343 | case I2C_SMBUS_I2C_BLOCK_DATA: | 343 | case I2C_SMBUS_I2C_BLOCK_DATA: |
| 344 | if (desc->rxbytes != dma_buffer[0] + 1) | ||
| 345 | return -EMSGSIZE; | ||
| 346 | |||
| 344 | memcpy(data->block, dma_buffer, desc->rxbytes); | 347 | memcpy(data->block, dma_buffer, desc->rxbytes); |
| 345 | data->block[0] = desc->rxbytes - 1; | ||
| 346 | break; | 348 | break; |
| 347 | } | 349 | } |
| 348 | return 0; | 350 | return 0; |
