aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDaniel Walker <dwalker@codeaurora.org>2010-07-27 17:04:30 -0400
committerDaniel Walker <dwalker@codeaurora.org>2010-10-12 19:10:23 -0400
commit5ad43ff98ac926e37ecbdef04ba7d4d104604028 (patch)
tree280e755d57c555fc9a672d2b26320f905a0f28b4 /drivers
parent461cbe77d0a4f887c33a3a95ea68a7daf23b4302 (diff)
drivers: video: msm: fix hang on disable_irq
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 <arve@android.com> changes in the Google tree. Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/msm/mdp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/video/msm/mdp.c b/drivers/video/msm/mdp.c
index 3c28db03ad39..2b5bf79ffe75 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)
90 mdp_irq_mask &= ~(mask); 90 mdp_irq_mask &= ~(mask);
91 /* if no one is waiting on the interrupt, disable it */ 91 /* if no one is waiting on the interrupt, disable it */
92 if (!mdp_irq_mask) { 92 if (!mdp_irq_mask) {
93 disable_irq(mdp->irq); 93 disable_irq_nosync(mdp->irq);
94 if (clk) 94 if (clk)
95 clk_disable(clk); 95 clk_disable(clk);
96 } 96 }