瀏覽代碼

i2c: Acquire PM lock after acquiring mutex

Sachin Parekh 5 年之前
父節點
當前提交
e78721db05
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      components/driver/i2c.c

+ 3 - 3
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) {