From f67365a067634b62747c819253fb461624c29568 Mon Sep 17 00:00:00 2001 From: etiennecollin Date: Mon, 25 Aug 2025 21:10:59 +0200 Subject: [PATCH] fix: suspend before reset This follows the procedure outlined in the STM32U5 reference manual at page 696. --- embassy-stm32/src/dma/gpdma/mod.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/embassy-stm32/src/dma/gpdma/mod.rs b/embassy-stm32/src/dma/gpdma/mod.rs index 752b39416..604db2852 100644 --- a/embassy-stm32/src/dma/gpdma/mod.rs +++ b/embassy-stm32/src/dma/gpdma/mod.rs @@ -382,6 +382,9 @@ impl AnyChannel { let info = self.info(); let ch = info.dma.ch(info.num); + self.request_suspend(); + while self.is_running() {} + ch.cr().modify(|w| w.set_reset(true)); }