Pull i2c fix from Wolfram Sang: "A fix from Andi for I2C host drivers" * tag 'i2c-for-6.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: i801: Fix a refactoring that broke a touchpad on Lenovo P1
Unified · Split
| @@ -536,11 +536,12 @@ static int i801_block_transaction_by_block(struct i801_priv *priv, · 535 unmodified lines | |||
| 536 | 536 | ||
| 537 | if (read_write == I2C_SMBUS_READ || | 537 | if (read_write == I2C_SMBUS_READ || |
| 538 | command == I2C_SMBUS_BLOCK_PROC_CALL) { | 538 | command == I2C_SMBUS_BLOCK_PROC_CALL) { |
| 539 | status = i801_get_block_len(priv); | 539 | len = i801_get_block_len(priv); |
| 540 | if (status < 0) | 540 | if (len < 0) { |
| 541 | status = len; | ||
| 541 | goto out; | 542 | goto out; |
| 543 | } | ||
| 542 | 544 | ||
| 543 | len = status; | ||
| 544 | data->block[0] = len; | 545 | data->block[0] = len; |
| 545 | inb_p(SMBHSTCNT(priv)); /* reset the data buffer index */ | 546 | inb_p(SMBHSTCNT(priv)); /* reset the data buffer index */ |
| 546 | for (i = 0; i < len; i++) | 547 | for (i = 0; i < len; i++) |