diff --git a/os/hal/ports/STM32/LLD/BDMAv1/stm32_bdma.c b/os/hal/ports/STM32/LLD/BDMAv1/stm32_bdma.c index 411a55b30..feadcaeb5 100644 --- a/os/hal/ports/STM32/LLD/BDMAv1/stm32_bdma.c +++ b/os/hal/ports/STM32/LLD/BDMAv1/stm32_bdma.c @@ -408,8 +408,8 @@ void bdmaStreamFreeI(const stm32_bdma_stream_t *stp) { bdma.allocated_mask &= ~(1U << stp->selfindex); /* Clearing associated handler and parameter.*/ - bdma.streams->func = NULL; - bdma.streams->param = NULL; + bdma.streams[stp->selfindex]->func = NULL; + bdma.streams[stp->selfindex]->param = NULL; /* Shutting down clocks that are no more required, if any.*/ if ((bdma.allocated_mask & STM32_BDMA_STREAMS_MASK) == 0U) { diff --git a/readme.txt b/readme.txt index 0ffc369ae..955e6e000 100644 --- a/readme.txt +++ b/readme.txt @@ -114,6 +114,8 @@ instead of a simple size. - NEW: RT and NIL upgraded to support the enhanced OSLIB. - NEW: Memory areas/pointers checker functions added to OSLIB. +- FIX: Fixed channel 0 corruption on STM32 BDMAv1 (bug #1263) + (backported to 20.3.5)(backported to 21.11.4). - FIX: Fixed wrong statistics in RT7 (bug #1262)(backported to 21.11.4). - FIX: Fixed missing cache management during Cortex-M RAM initializations (bug #1261)(backported to 20.3.5)(backported to 21.11.4).