[PW_SID:971591] i2c: k1: check for transfer error#523
Conversation
If spacemit_i2c_xfer_msg() times out waiting for a message transfer to complete, or if the hardware reports an error, it returns a negative error code (-ETIMEDOUT, -EAGAIN, -ENXIO. or -EIO). The sole caller of spacemit_i2c_xfer_msg() is spacemit_i2c_xfer(), which is the i2c_algorithm->xfer callback function. It currently does not save the value returned by spacemit_i2c_xfer_msg(). The result is that transfer errors go unreported, and a caller has no indication anything is wrong. When this code was out for review, the return value *was* checked in early versions. But for some reason, that assignment got dropped between versions 5 and 6 of the series, perhaps related to reworking the code to merge spacemit_i2c_xfer_core() into spacemit_i2c_xfer(). Simply assigning the value returned to "ret" fixes the problem. Fixes: 5ea5584 ("i2c: spacemit: add support for SpacemiT K1 SoC") Signed-off-by: Alex Elder <elder@riscstar.com> Reviewed-by: Troy Mitchell <troymitchell988@gmail.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "i2c: k1: check for transfer error" |
|
Patch 1: "i2c: k1: check for transfer error" |
|
Patch 1: "i2c: k1: check for transfer error" |
|
Patch 1: "i2c: k1: check for transfer error" |
|
Patch 1: "i2c: k1: check for transfer error" |
|
Patch 1: "i2c: k1: check for transfer error" |
|
Patch 1: "i2c: k1: check for transfer error" |
|
Patch 1: "i2c: k1: check for transfer error" |
|
Patch 1: "i2c: k1: check for transfer error" |
|
Patch 1: "i2c: k1: check for transfer error" |
|
Patch 1: "i2c: k1: check for transfer error" |
|
Patch 1: "i2c: k1: check for transfer error" |
PR for series 971591 applied to workflow__riscv__fixes
Name: i2c: k1: check for transfer error
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=971591
Version: 1