From bab4277a8620e9a5e2347ff919d677e9c87528c9 Mon Sep 17 00:00:00 2001 From: Lucas Granberg Date: Wed, 8 Feb 2023 17:57:37 +0200 Subject: [PATCH] hack for STM32WL, rcc reset in case of seed error The STM32WL series has a more complicated rng device that gets stuck when there is a seed error. --- embassy-stm32/src/rng.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/embassy-stm32/src/rng.rs b/embassy-stm32/src/rng.rs index c487b759f..abc625835 100644 --- a/embassy-stm32/src/rng.rs +++ b/embassy-stm32/src/rng.rs @@ -32,6 +32,11 @@ impl<'d, T: Instance> Rng<'d, T> { } pub fn reset(&mut self) { + //stm32wl gets stuck if there is a seed error + #[cfg(stm32wl)] + if unsafe { T::regs().sr().read().seis()} { + T::reset(); + } unsafe { T::regs().cr().modify(|reg| { reg.set_rngen(true);