fix(sdmmc): release aligned DMA buffer on card deinit

This commit is contained in:
Adam Múdry
2026-08-04 15:38:11 +02:00
parent b2672c7937
commit e0c094da69
12 changed files with 171 additions and 18 deletions

View File

@@ -422,9 +422,8 @@ static void host_link_deinit(host_link_t *link)
return;
}
if (link->card != NULL && link->card->host.dma_aligned_buffer != NULL) {
free(link->card->host.dma_aligned_buffer);
link->card->host.dma_aligned_buffer = NULL;
if (link->card) {
sdmmc_card_deinit(link->card);
}
if (link->host_initialized) {

View File

@@ -174,6 +174,7 @@ esp_err_t init_sd_card(sdmmc_card_t **out_card)
void deinit_sd_card(sdmmc_card_t **card)
{
ESP_ERROR_CHECK(sdmmc_card_deinit(*card));
// Unmount SD card
#ifdef CONFIG_EXAMPLE_USE_SDMMC
sdmmc_host_deinit();