summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/exynos4-is
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2013-05-31 16:37:21 +0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-06-13 02:56:06 +0200
commit4bd728a16ee8212e3e468dabb737fe9ef5cea83d (patch)
tree1b6a27e9a2a2c985bb493c366003177dec6c8eb8 /drivers/media/platform/exynos4-is
parent[media] exynos4-is: Media graph/video device locking rework (diff)
downloadlinux-4bd728a16ee8212e3e468dabb737fe9ef5cea83d.tar.xz
linux-4bd728a16ee8212e3e468dabb737fe9ef5cea83d.zip
[media] exynos4-is: Do not use asynchronous runtime PM in release fop
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>
Diffstat (limited to 'drivers/media/platform/exynos4-is')
-rw-r--r--drivers/media/platform/exynos4-is/fimc-capture.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/platform/exynos4-is/fimc-capture.c b/drivers/media/platform/exynos4-is/fimc-capture.c
index b6055d2b09d6..b2f9581f1a8a 100644
--- a/drivers/media/platform/exynos4-is/fimc-capture.c
+++ b/drivers/media/platform/exynos4-is/fimc-capture.c
@@ -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;