Messages in this thread |  | | From | Praveen Talari <> | | Subject | [PATCH 0/3] i2c: qcom-geni: improve transfer error recovery and synchronization | | Date | Wed, 08 Jul 2026 11:45:20 +0530 |
| |
The GENI I2C driver currently has a few issues in its transfer recovery and completion handling paths.
The timeout recovery flow directly aborts outstanding commands, while GENI hardware requires command cancellation to be attempted before issuing an abort. In addition, multiple operations share a common completion object, which can allow unrelated events to wake waiters prematurely and lead to incorrect synchronization.
Address NACK handling can also trigger unnecessary cancel and reset operations even though the transfer has already terminated during the address phase.
Signed-off-by: Praveen Talari <praveen.talari@oss.qualcomm.com> --- Praveen Talari (3): i2c: qcom-geni: use cancel command before abort on transfer timeout i2c: qcom-geni: use dedicated completions for abort and reset events i2c: qcom-geni: Avoid unnecessary transfer cancel on address NACK
drivers/i2c/busses/i2c-qcom-geni.c | 100 ++++++++++++++++++++++++------------- 1 file changed, 66 insertions(+), 34 deletions(-) --- base-commit: 2b763db0c2763d6bf73d7d3e69665222d1f377cf change-id: 20260703-fix_cancel_sequence_on_failure_for_i2c-a868571f77e0
Best regards, -- Praveen Talari <praveen.talari@oss.qualcomm.com>
|  |