From 814e99cf04908f7ce634e006ade1cf84ba85c3dd Mon Sep 17 00:00:00 2001 From: Dominic Fischer Date: Sun, 21 Jul 2024 01:10:30 +0100 Subject: [PATCH] Only clear specific interrupt bit when listening for an "in progress" interrupt --- esp-hal/src/dma/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/esp-hal/src/dma/mod.rs b/esp-hal/src/dma/mod.rs index a966ab73533..2efbc3f9cc0 100644 --- a/esp-hal/src/dma/mod.rs +++ b/esp-hal/src/dma/mod.rs @@ -2294,7 +2294,7 @@ pub(crate) mod asynch { ) -> Poll { TX::waker().register(cx.waker()); if self.tx.is_ch_out_done_set() { - self.tx.clear_interrupts(); + self.tx.clear_ch_out_done(); Poll::Ready(Ok(())) } else if self.tx.has_error() { self.tx.clear_interrupts(); @@ -2352,7 +2352,7 @@ pub(crate) mod asynch { ) -> Poll { RX::waker().register(cx.waker()); if self.rx.is_ch_in_done_set() { - self.rx.clear_interrupts(); + self.rx.clear_ch_in_done(); Poll::Ready(Ok(())) } else if self.rx.has_error() || self.rx.has_dscr_empty_error()