From f4dce15c87c9ff6c51d8a9a7a80347465468b7af Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Sat, 19 Jun 2021 15:30:46 +0200 Subject: [PATCH] stm32/sdio: Fix undefined reference to DMA stream on H7. Follow up to a96afae90f6e5d693173382561d06e583b0b5fa5 --- ports/stm32/sdio.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ports/stm32/sdio.c b/ports/stm32/sdio.c index 0291e3e81d3c..3fb84a4d8152 100644 --- a/ports/stm32/sdio.c +++ b/ports/stm32/sdio.c @@ -451,9 +451,11 @@ int sdio_transfer_cmd53(bool write, uint32_t block_size, uint32_t arg, size_t le #else printf("sdio_transfer_cmd53: timeout wr=%d len=%u dma=%u buf_idx=%u STA=%08x SDMMC=%08x:%08x IDMA=%08x\n", write, (uint)len, (uint)dma, sdmmc_buf_cur - buf, (uint)SDMMC->STA, (uint)SDMMC->DCOUNT, (uint)SDMMC->DCTRL, (uint)SDMMC->IDMACTRL); #endif + #if defined(STM32F7) if (sdmmc_dma) { dma_nohal_deinit(&dma_SDIO_0); } + #endif return -MP_ETIMEDOUT; } } @@ -466,9 +468,11 @@ int sdio_transfer_cmd53(bool write, uint32_t block_size, uint32_t arg, size_t le #else printf("sdio_transfer_cmd53: error=%08lx wr=%d len=%u dma=%u buf_idx=%u STA=%08x SDMMC=%08x:%08x IDMA=%08x\n", sdmmc_error, write, (uint)len, (uint)dma, sdmmc_buf_cur - buf, (uint)SDMMC->STA, (uint)SDMMC->DCOUNT, (uint)SDMMC->DCTRL, (uint)SDMMC->IDMACTRL); #endif + #if defined(STM32F7) if (sdmmc_dma) { dma_nohal_deinit(&dma_SDIO_0); } + #endif return -(0x1000000 | sdmmc_error); } @@ -478,7 +482,9 @@ int sdio_transfer_cmd53(bool write, uint32_t block_size, uint32_t arg, size_t le return -MP_EIO; } } else { + #if defined(STM32F7) dma_nohal_deinit(&dma_SDIO_0); + #endif } return 0;