Commit c8a4fb47 authored by Guennadi Liakhovetski's avatar Guennadi Liakhovetski Committed by Sascha Hauer

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: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent c2e5307b
...@@ -706,7 +706,7 @@ static void mx3fb_dma_done(void *arg) ...@@ -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);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment