diff --git a/components/driver/i2c.c b/components/driver/i2c.c index aeadfaadaa..022a15964f 100644 --- a/components/driver/i2c.c +++ b/components/driver/i2c.c @@ -1290,12 +1290,12 @@ esp_err_t i2c_master_cmd_begin(i2c_port_t i2c_num, i2c_cmd_handle_t cmd_handle, i2c_obj_t* p_i2c = p_i2c_obj[i2c_num]; portTickType ticks_start = xTaskGetTickCount(); portBASE_TYPE res = xSemaphoreTake(p_i2c->cmd_mux, ticks_to_wait); -#ifdef CONFIG_PM_ENABLE - esp_pm_lock_acquire(p_i2c->pm_lock); -#endif if (res == pdFALSE) { return ESP_ERR_TIMEOUT; } +#ifdef CONFIG_PM_ENABLE + esp_pm_lock_acquire(p_i2c->pm_lock); +#endif xQueueReset(p_i2c->cmd_evt_queue); if (p_i2c->status == I2C_STATUS_TIMEOUT || I2C[i2c_num]->status_reg.bus_busy == 1) {