From 5ad43ff98ac926e37ecbdef04ba7d4d104604028 Mon Sep 17 00:00:00 2001 From: Daniel Walker Date: Tue, 27 Jul 2010 14:04:30 -0700 Subject: drivers: video: msm: fix hang on disable_irq MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There's a resource race around disable_irq. Using the nosync version allows the function to continue and prevents the hang. Adapted from Arve Hjønnevåg changes in the Google tree. Signed-off-by: Daniel Walker --- drivers/video/msm/mdp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/video/msm') diff --git a/drivers/video/msm/mdp.c b/drivers/video/msm/mdp.c index 3c28db03ad3..2b5bf79ffe7 100644 --- a/drivers/video/msm/mdp.c +++ b/drivers/video/msm/mdp.c @@ -90,7 +90,7 @@ static int locked_disable_mdp_irq(struct mdp_info *mdp, uint32_t mask) mdp_irq_mask &= ~(mask); /* if no one is waiting on the interrupt, disable it */ if (!mdp_irq_mask) { - disable_irq(mdp->irq); + disable_irq_nosync(mdp->irq); if (clk) clk_disable(clk); } -- cgit v1.2.3-70-g09d2