]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/plat-omap/dma.c
ARM: OMAP: Fix race in OMAP2/3 DMA IRQ handling
[linux-2.6-omap-h63xx.git] / arch / arm / plat-omap / dma.c
index e77373c39f8c8a3ac76cab7b4f5c336a02ecd947..bec8e363d545fae4fb9bf1dbfa1d33942b702d73 100644 (file)
@@ -1888,11 +1888,11 @@ static int omap2_dma_handle_ch(int ch)
                status = dma_read(CSR(ch));
        }
 
+       dma_write(status, CSR(ch));
+
        if (likely(dma_chan[ch].callback != NULL))
                dma_chan[ch].callback(ch, status, dma_chan[ch].data);
 
-       dma_write(status, CSR(ch));
-
        return 0;
 }