Browse Source

FB: fix unsafe use of disable_irq() in mx3fb.c

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>
Guennadi Liakhovetski 16 years ago
parent
commit
c8a4fb472c
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/video/mx3fb.c

+ 1 - 1
drivers/video/mx3fb.c

@@ -706,7 +706,7 @@ static void mx3fb_dma_done(void *arg)
 	dev_dbg(mx3fb->dev, "irq %d callback\n", ichannel->eof_irq);
 	dev_dbg(mx3fb->dev, "irq %d callback\n", ichannel->eof_irq);
 
 
 	/* We only need one interrupt, it will be re-enabled as needed */
 	/* 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);
 	complete(&mx3_fbi->flip_cmpl);
 }
 }