esp-idf/components/esp_driver_i2c
Eric Wheeler 6e1bba7430 fix(i2c_master): fix deadlock on s_i2c_transaction_start failure
As pointed out in PR #13134 by @MatthiasKunnen, there is a deadlock in
`s_i2c_synchronous_transaction()` if `s_i2c_transaction_start()` should fail
because, on error, s_i2c_synchronous_transaction() returns before releasing the
lock.

This commit fixes the deadlock without any other changes.

Closes: #13387

Signed-off-by: Eric Wheeler <esp-idf@z.ewheeler.org>
2024-03-15 14:13:13 +08:00
..
include/driver fix(i2c): Fix I2C synchronous transaction cost so much CPU source, 2024-03-07 17:51:23 +08:00
test_apps fix(i2c): Modify the test memory leak check threshold and add more file pattern 2024-02-27 17:30:59 +08:00
CMakeLists.txt refactor(i2c): Make i2c driver as a seperate component 2023-12-14 15:39:35 +08:00
i2c_common.c feat(i2c): Add I2C support on ESP32C5 2024-02-29 12:13:39 +08:00
i2c_master.c fix(i2c_master): fix deadlock on s_i2c_transaction_start failure 2024-03-15 14:13:13 +08:00
i2c_private.h fix(i2c): Fix I2C synchronous transaction cost so much CPU source, 2024-03-07 17:51:23 +08:00
i2c_slave.c feat(i2c): Support i2c sleep retention on esp32c6/h2 2024-02-23 11:28:14 +08:00
Kconfig refactor(i2c): Make i2c driver as a seperate component 2023-12-14 15:39:35 +08:00
linker.lf refactor(i2c): Make i2c driver as a seperate component 2023-12-14 15:39:35 +08:00