From 41709042249d56b3876ef1d93cdbe5353462314d Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Fri, 8 Dec 2017 12:17:58 +0800 Subject: [PATCH] fatfs: fix deinit not called for SDSPI host Closes https://github.com/espressif/esp-idf/issues/1362 --- components/fatfs/src/vfs_fat_sdmmc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/components/fatfs/src/vfs_fat_sdmmc.c b/components/fatfs/src/vfs_fat_sdmmc.c index a712fa973..68751cb50 100644 --- a/components/fatfs/src/vfs_fat_sdmmc.c +++ b/components/fatfs/src/vfs_fat_sdmmc.c @@ -139,7 +139,7 @@ esp_err_t esp_vfs_fat_sdmmc_mount(const char* base_path, return ESP_OK; fail: - sdmmc_host_deinit(); + host_config->deinit(); free(workbuf); if (fs) { f_mount(NULL, drv, 0); @@ -160,10 +160,11 @@ esp_err_t esp_vfs_fat_sdmmc_unmount() char drv[3] = {(char)('0' + s_pdrv), ':', 0}; f_mount(0, drv, 0); // release SD driver + esp_err_t (*host_deinit)() = s_card->host.deinit; ff_diskio_unregister(s_pdrv); free(s_card); s_card = NULL; - sdmmc_host_deinit(); + (*host_deinit)(); esp_err_t err = esp_vfs_fat_unregister_path(s_base_path); free(s_base_path); s_base_path = NULL;