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 | 537 | if (read_write == I2C_SMBUS_READ || |
| 538 | 538 | command == I2C_SMBUS_BLOCK_PROC_CALL) { |
| 539 | − status = i801_get_block_len(priv); | |
| 540 | − if (status < 0) | |
| 539 | + len = i801_get_block_len(priv); | |
| 540 | + if (len < 0) { | |
| 541 | + status = len; | |
| 541 | 542 | goto out; |
| 543 | + } | |
| 542 | 544 | |
| 543 | − len = status; | |
| 544 | 545 | data->block[0] = len; |
| 545 | 546 | inb_p(SMBHSTCNT(priv)); /* reset the data buffer index */ |
| 546 | 547 | for (i = 0; i < len; i++) |