Remove reason from ao_dma_abort
[fw/altos] / src / ao_dma.c
index a4d45f14e932ccab33975039db6de69afae06987..110138b56a42d5cfd50f19c3b3df673bff32d1da 100644 (file)
@@ -107,6 +107,8 @@ 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
@@ -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;
                }