From: Ivan Grokhotkov Date: Fri, 8 Dec 2017 04:17:58 +0000 (+0800) Subject: fatfs: fix deinit not called for SDSPI host X-Git-Tag: v3.1-beta1~541^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=41709042249d56b3876ef1d93cdbe5353462314d;p=esp-idf fatfs: fix deinit not called for SDSPI host Closes https://github.com/espressif/esp-idf/issues/1362 --- diff --git a/components/fatfs/src/vfs_fat_sdmmc.c b/components/fatfs/src/vfs_fat_sdmmc.c index a712fa9733..68751cb50f 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;