dreiver/i2c: delete i2c cmd_mux semaphore more cleanly v4.3

Merges https://github.com/espressif/esp-idf/pull/6846
This commit is contained in:
Melissa LeBlanc-Williams
2021-04-08 14:17:48 -07:00
committed by bot
parent 51aaf310fd
commit b6826d8878

View File

@ -400,7 +400,9 @@ esp_err_t i2c_driver_delete(i2c_port_t i2c_num)
p_i2c->intr_handle = NULL; p_i2c->intr_handle = NULL;
if (p_i2c->cmd_mux) { if (p_i2c->cmd_mux) {
// Let any command in progress finish.
xSemaphoreTake(p_i2c->cmd_mux, portMAX_DELAY); xSemaphoreTake(p_i2c->cmd_mux, portMAX_DELAY);
xSemaphoreGive(p_i2c->cmd_mux);
vSemaphoreDelete(p_i2c->cmd_mux); vSemaphoreDelete(p_i2c->cmd_mux);
} }
if (p_i2c_obj[i2c_num]->cmd_evt_queue) { if (p_i2c_obj[i2c_num]->cmd_evt_queue) {