From: Guennadi Liakhovetski Date: Tue, 12 May 2009 19:41:03 +0000 (+0200) Subject: FB: fix unsafe use of disable_irq() in mx3fb.c X-Git-Tag: v2.6.31-rc1~344^2~29^2~5 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=c8a4fb472c5101ec52f94b1e1277b8fde4b823cf;p=karo-tx-linux.git 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 Signed-off-by: Sascha Hauer --- diff --git a/drivers/video/mx3fb.c b/drivers/video/mx3fb.c index 9894de1c9b9f..7a168ba65c64 100644 --- a/drivers/video/mx3fb.c +++ b/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); /* 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); }