diff options
| author | Lad Prabhakar <[email protected]> | 2025-01-13 12:26:42 +0000 |
|---|---|---|
| committer | Wolfram Sang <[email protected]> | 2025-01-14 12:01:30 +0000 |
| commit | b31addf2a08bc5c16dfd6eae8785546f3eea92b8 (patch) | |
| tree | c4b22ee15910fcee5e495c8754bb656b947d9c11 /net/unix/sysctl_net_unix.c | |
| parent | i2c: riic: Use predefined macro and simplify clock tick calculation (diff) | |
| download | kernel-b31addf2a08bc5c16dfd6eae8785546f3eea92b8.tar.gz kernel-b31addf2a08bc5c16dfd6eae8785546f3eea92b8.zip | |
i2c: riic: Add `riic_bus_barrier()` to check bus availability
Introduce a new `riic_bus_barrier()` function to verify bus availability
before initiating an I2C transfer. This function enhances the bus
arbitration check by ensuring that the SDA and SCL lines are not held low,
in addition to checking the BBSY flag using `readb_poll_timeout()`.
Previously, only the BBSY flag was checked to determine bus availability.
However, it is possible for the SDA line to remain low even when BBSY = 0.
This new implementation performs an additional check on the SDA and SCL
lines to avoid potential bus contention issues.
Signed-off-by: Lad Prabhakar <[email protected]>
Reviewed-by: Geert Uytterhoeven <[email protected]>
Reviewed-by: Wolfram Sang <[email protected]>
Tested-by: Wolfram Sang <[email protected]>
Tested-by: Claudiu Beznea <[email protected]>
Reviewed-by: Claudiu Beznea <[email protected]>
Reviewed-by: Andy Shevchenko <[email protected]>
Signed-off-by: Wolfram Sang <[email protected]>
Diffstat (limited to 'net/unix/sysctl_net_unix.c')
0 files changed, 0 insertions, 0 deletions
