The rockchip I2C driver does not send a stop condition, this violates the timing on the SCL line. iThe first patch fixes this and puts all related functions on the same level. Furthermore, we have seen nested calls to the rockchip_i2c_xfer function. The second patch adds a check of pending interrupts and avoids interrupting an ongoing transfer. The last two patches propagate I2C errors from the KSZ9477 driver to the DSA subsystem to react accordingly. To: barebox@xxxxxxxxxxxxxxxxxxx Signed-off-by: Gerald Loacker <gerald.loacker@xxxxxxxxxxxxxx> --- Gerald Loacker (4): i2c: rockchip: fix i2c stop condition i2c: rockchip: ignore i2c transfers when another transfer is running net: ksz9477: propagate phy read error net: ksz9477: propagate phy write error drivers/i2c/busses/i2c-rockchip.c | 35 +++++++++++++++++++++-------------- drivers/net/ksz9477.c | 15 +++++++-------- 2 files changed, 28 insertions(+), 22 deletions(-) --- base-commit: 4411b931680e4fb15d6f80e5543ef9f81aef092b change-id: 20230908-bugfix-i2c-rockchip-f8874bd640e5 Best regards, -- Gerald Loacker <gerald.loacker@xxxxxxxxxxxxxx>