Jelajahi Sumber

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>
Daniel Walker 15 tahun lalu
induk
melakukan
5ad43ff98a
1 mengubah file dengan 1 tambahan dan 1 penghapusan
  1. 1 1
      drivers/video/msm/mdp.c

+ 1 - 1
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);
 	}