X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fao_dma.c;h=946666abc6ff9993410fa7c155479c43c6a1e511;hp=a4d45f14e932ccab33975039db6de69afae06987;hb=5f2f6a8f9ba56be867888758848bc7f152ccbd47;hpb=210dbaa23cdacf3a6f2d6e23493e96ee2ac9bca7 diff --git a/src/ao_dma.c b/src/ao_dma.c index a4d45f14..946666ab 100644 --- a/src/ao_dma.c +++ b/src/ao_dma.c @@ -107,10 +107,12 @@ ao_dma_abort(uint8_t id) uint8_t mask = (1 << id); DMAARM = 0x80 | mask; DMAIRQ &= ~mask; + *(ao_dma_done[id]) |= AO_DMA_ABORTED; + ao_wakeup(ao_dma_done[id]); } void -ao_dma_isr(void) interrupt 8 +ao_dma_isr(void) __interrupt 8 { uint8_t id, mask; @@ -122,7 +124,7 @@ ao_dma_isr(void) interrupt 8 DMAIF = 0; /* Clear the completed ID */ DMAIRQ = ~mask; - *(ao_dma_done[id]) = 1; + *(ao_dma_done[id]) |= AO_DMA_DONE; ao_wakeup(ao_dma_done[id]); break; }