FB: fix unsafe use of disable_irq() in mx3fb.c
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Tue, 12 May 2009 19:41:03 +0000 (21:41 +0200)
committerSascha Hauer <s.hauer@pengutronix.de>
Wed, 13 May 2009 07:46:19 +0000 (09:46 +0200)
mx3fb.c calls disable_irq() from a DMA callback, i.e., in an IRQ-handler
context, which has always been unsafe, and became deadly after the merge of
threaded interrupt handler support. Use disable_irq_nosync() instead.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
drivers/video/mx3fb.c

index 9894de1..7a168ba 100644 (file)
@@ -706,7 +706,7 @@ static void mx3fb_dma_done(void *arg)
        dev_dbg(mx3fb->dev, "irq %d callback\n", ichannel->eof_irq);
 
        /* We only need one interrupt, it will be re-enabled as needed */
-       disable_irq(ichannel->eof_irq);
+       disable_irq_nosync(ichannel->eof_irq);
 
        complete(&mx3_fbi->flip_cmpl);
 }