From a142be8bb8f90ea9935d452bbac692e678f0c9e7 Mon Sep 17 00:00:00 2001
From: James Munns <james@onevariable.com>
Date: Wed, 27 Dec 2023 19:12:44 +0100
Subject: [PATCH] Seems to help

---
 embassy-stm32/src/i2c/v1.rs | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/embassy-stm32/src/i2c/v1.rs b/embassy-stm32/src/i2c/v1.rs
index df5b44c2d..231d08f18 100644
--- a/embassy-stm32/src/i2c/v1.rs
+++ b/embassy-stm32/src/i2c/v1.rs
@@ -375,6 +375,9 @@ impl<'d, T: Instance, TXDMA, RXDMA> I2c<'d, T, TXDMA, RXDMA> {
                         T::regs().sr2().read();
                         Poll::Ready(Ok(()))
                     } else {
+                        // If we need to go around, then re-enable the interrupts, otherwise nothing
+                        // can wake us up and we'll hang.
+                        Self::enable_interrupts();
                         Poll::Pending
                     }
                 }