diff options
| author | Wolfram Sang <[email protected]> | 2018-05-15 10:41:01 +0200 |
|---|---|---|
| committer | Wolfram Sang <[email protected]> | 2018-05-15 10:41:01 +0200 |
| commit | e6218bf390a9992de86a535bcb227f75e2c20cf9 (patch) | |
| tree | b6bfa2374c78fedacb683b4da91afac3300807ba /drivers/i2c/i2c-core-acpi.c | |
| parent | 77bade677c3c5616dfadfd21f0220fcddbfa4cbe (diff) | |
| parent | 35cd67a0caf767aba472452865dcb4471fcce2b1 (diff) | |
Merge branch 'i2c/for-current-fixed' into i2c/for-4.18
Diffstat (limited to 'drivers/i2c/i2c-core-acpi.c')
| -rw-r--r-- | drivers/i2c/i2c-core-acpi.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c index a9126b3cda61..7c3b4740b94b 100644 --- a/drivers/i2c/i2c-core-acpi.c +++ b/drivers/i2c/i2c-core-acpi.c @@ -445,10 +445,17 @@ static int acpi_gsb_i2c_read_bytes(struct i2c_client *client, msgs[1].buf = buffer; ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs)); - if (ret < 0) - dev_err(&client->adapter->dev, "i2c read failed\n"); - else + if (ret < 0) { + /* Getting a NACK is unfortunately normal with some DSTDs */ + if (ret == -EREMOTEIO) + dev_dbg(&client->adapter->dev, "i2c read %d bytes from client@%#x starting at reg %#x failed, error: %d\n", + data_len, client->addr, cmd, ret); + else + dev_err(&client->adapter->dev, "i2c read %d bytes from client@%#x starting at reg %#x failed, error: %d\n", + data_len, client->addr, cmd, ret); + } else { memcpy(data, buffer, data_len); + } kfree(buffer); return ret; |