diff --git a/os/hal/ports/STM32/LLD/SPIv3/hal_spi_lld.c b/os/hal/ports/STM32/LLD/SPIv3/hal_spi_lld.c index 4a67c8753..f0ef28d6d 100644 --- a/os/hal/ports/STM32/LLD/SPIv3/hal_spi_lld.c +++ b/os/hal/ports/STM32/LLD/SPIv3/hal_spi_lld.c @@ -827,6 +827,8 @@ void spi_lld_ignore(SPIDriver *spip, size_t n) { osalDbgAssert(n < 65536, "unsupported DMA transfer size"); + spi_lld_wait_complete(spip); + #if defined(STM32_SPI_DMA_REQUIRED) && defined(STM32_SPI_BDMA_REQUIRED) if (spip->is_bdma) #endif diff --git a/readme.txt b/readme.txt index 1b4e207fb..533b78b87 100644 --- a/readme.txt +++ b/readme.txt @@ -84,6 +84,7 @@ - NEW: Files mcuconf.h for STM32F746, F767, L432, L452, L476, L496 received the missing setting STM32_WSPI_QUADSPI1_PRESCALER_VALUE. - FIX: removed incorrect ADCv4 checks for MONEN (bug #1194) +- FIX: Fixed hang in spi_lld_ignore() in SPIv3 on H7 (bug #1193) - FIX: Fixed invalid RCC LPUART1 clock enable on STM32G0xx (bug #1189). - FIX: Fixed wrong configuration in testex LSM6DSL demos (bug #1184). - FIX: Fixed STM32 ADCv3 differences in headers (bug #1182).