Bladeren bron

dreiver/i2c: delete i2c cmd_mux semaphore more cleanly

Merges https://github.com/espressif/esp-idf/pull/6847
Melissa LeBlanc-Williams 4 jaren geleden
bovenliggende
commit
59d08d4467
1 gewijzigde bestanden met toevoegingen van 2 en 0 verwijderingen
  1. 2 0
      components/driver/i2c.c

+ 2 - 0
components/driver/i2c.c

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