[media] exynos4-is: Do not use asynchronous runtime PM in release fop
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Fri, 31 May 2013 14:37:21 +0000 (11:37 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 13 Jun 2013 00:56:06 +0000 (21:56 -0300)
Use pm_runtime_put_sync() instead of pm_runtime_put() to avoid races
in handling the 'state' bit flags when the fimc-capture drivers'
runtime_resume callback is called from the PM workqueue.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/platform/exynos4-is/fimc-capture.c

index b6055d2..b2f9581 100644 (file)
@@ -496,7 +496,7 @@ static int fimc_capture_open(struct file *file)
 
        ret = v4l2_fh_open(file);
        if (ret) {
-               pm_runtime_put(&fimc->pdev->dev);
+               pm_runtime_put_sync(&fimc->pdev->dev);
                goto unlock;
        }
 
@@ -564,7 +564,7 @@ static int fimc_capture_release(struct file *file)
                fimc_md_graph_unlock(&vc->ve);
        }
 
-       pm_runtime_put(&fimc->pdev->dev);
+       pm_runtime_put_sync(&fimc->pdev->dev);
        mutex_unlock(&fimc->lock);
 
        return ret;