Attempting to run i2cdetect shows that error handling in the GENI I2C driver could be better. The first issue is that errors aren't returned from the driver. Following this is an issue that if a timeout occurs the current operation is aborted, but the abort code races with the isr so the abort times out as well. Lastly when this happens, the driver is quite noisy, making it impossible to run i2cdetect on the serial console. With this series in place, I was able to run i2cdetect on the db845c and two sc8180x devices - and get useful output. Bjorn Andersson (3): i2c: qcom-geni: Use the correct return value i2c: qcom-geni: Propagate GENI_ABORT_DONE to geni_i2c_abort_xfer() i2c: qcom-geni: Silence NACK and GENI_TIMEOUT drivers/i2c/busses/i2c-qcom-geni.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) -- 2.35.1