mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 18:57:19 +02:00
fix(sdmmc): only call esp_pm APIs when CONFIG_PM_ENABLE is enabled
This commit is contained in:
@ -373,9 +373,11 @@ static esp_err_t sd_host_del_sdmmc_controller(sd_host_ctlr_handle_t ctlr)
|
||||
if (ctlr_ctx->io_intr_sem) {
|
||||
vSemaphoreDeleteWithCaps(ctlr_ctx->io_intr_sem);
|
||||
}
|
||||
#if CONFIG_PM_ENABLE
|
||||
if (ctlr_ctx->pm_lock) {
|
||||
esp_pm_lock_delete(ctlr_ctx->pm_lock);
|
||||
}
|
||||
#endif
|
||||
|
||||
free(ctlr_ctx->dma_desc);
|
||||
ctlr_ctx->dma_desc = NULL;
|
||||
|
@ -482,9 +482,11 @@ esp_err_t sd_host_slot_sdmmc_do_transaction(sd_host_slot_handle_t slot, sdmmc_co
|
||||
sd_host_sdmmc_slot_t *slot_ctx = __containerof(slot, sd_host_sdmmc_slot_t, drv);
|
||||
|
||||
xSemaphoreTake(slot_ctx->ctlr->mutex, portMAX_DELAY);
|
||||
#if CONFIG_PM_ENABLE
|
||||
if (slot_ctx->ctlr->pm_lock) {
|
||||
ESP_GOTO_ON_ERROR(esp_pm_lock_acquire(slot_ctx->ctlr->pm_lock), out, TAG, "acquire pm_lock failed");
|
||||
}
|
||||
#endif
|
||||
slot_ctx->ctlr->cur_slot_id = slot_ctx->slot_id;
|
||||
|
||||
// By default, set probing frequency (400kHz) and 1-bit bus
|
||||
@ -579,9 +581,11 @@ esp_err_t sd_host_slot_sdmmc_do_transaction(sd_host_slot_handle_t slot, sdmmc_co
|
||||
#endif
|
||||
|
||||
out:
|
||||
#if CONFIG_PM_ENABLE
|
||||
if (slot_ctx->ctlr->pm_lock) {
|
||||
ESP_RETURN_ON_ERROR(esp_pm_lock_release(slot_ctx->ctlr->pm_lock), TAG, "release pm_lock failed");
|
||||
}
|
||||
#endif
|
||||
xSemaphoreGive(slot_ctx->ctlr->mutex);
|
||||
|
||||
return ret;
|
||||
|
Reference in New Issue
Block a user