aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple
diff options
context:
space:
mode:
authorManuel Odendahl <wesen@ruinwesen.com>2014-02-06 12:53:08 +0100
committerManuel Odendahl <wesen@ruinwesen.com>2014-02-06 12:55:32 +0100
commit69a8183a5e3b2ffb3b19d3d8d9c7b0c81c83e808 (patch)
tree803e19ed6dc52707e318d77886a9dd50880a4990 /libmaple
parentbe005eb7acc1fa08aa92b47d905e5a8ec38f5d6e (diff)
downloadlibrambutan-69a8183a5e3b2ffb3b19d3d8d9c7b0c81c83e808.tar.gz
librambutan-69a8183a5e3b2ffb3b19d3d8d9c7b0c81c83e808.zip
always clear ISR DMA bit before even calling handler
Diffstat (limited to 'libmaple')
-rw-r--r--libmaple/dma_private.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/libmaple/dma_private.h b/libmaple/dma_private.h
index b25ded2..82f5fc1 100644
--- a/libmaple/dma_private.h
+++ b/libmaple/dma_private.h
@@ -38,10 +38,10 @@
* in the series support files, which need dma_irq_handler().) */
#ifdef DMA_GET_HANDLER
static __always_inline void dma_irq_handler(dma_dev *dev, dma_tube tube) {
+ dma_clear_isr_bits(dev, tube); /* in case handler doesn't */
void (*handler)(void) = DMA_GET_HANDLER(dev, tube);
if (handler) {
handler();
- dma_clear_isr_bits(dev, tube); /* in case handler doesn't */
}
}
#endif