summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2012-05-18 13:31:28 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-06-25 09:21:06 -0300
commit316efab3e949e4fbdacb0975bf33adbad89115db (patch)
treec9f28b4950d812965e4b41ab62bb3242cae8c0df /drivers/media
parente3fc82e8b9f550d28f05600b98bcc8c26beef2ef (diff)
downloadlinux-3.10-316efab3e949e4fbdacb0975bf33adbad89115db.tar.gz
linux-3.10-316efab3e949e4fbdacb0975bf33adbad89115db.tar.bz2
linux-3.10-316efab3e949e4fbdacb0975bf33adbad89115db.zip
[media] s5p-fimc: Fix fimc-lite system wide suspend procedure
Only suspend the video pipeline devices if they were active before the pm.suspend() helper is called. This patch prevents following error: /# echo mem > /sys/power/state [ 34.965000] PM: Syncing filesystems ... done. [ 35.035000] Freezing user space processes ... (elapsed 0.01 seconds) done. ... [ 35.105000] dpm_run_callback(): platform_pm_suspend+0x0/0x5c returns -22 [ 35.105000] PM: Device exynos-fimc-lite.1 failed to suspend: error -22 [ 35.105000] PM: Some devices failed to suspend 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')
-rw-r--r--drivers/media/video/s5p-fimc/fimc-lite.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/video/s5p-fimc/fimc-lite.c b/drivers/media/video/s5p-fimc/fimc-lite.c
index bbe93e4a873..b0a8ce61ebf 100644
--- a/drivers/media/video/s5p-fimc/fimc-lite.c
+++ b/drivers/media/video/s5p-fimc/fimc-lite.c
@@ -1510,7 +1510,7 @@ static int fimc_lite_suspend(struct device *dev)
return 0;
ret = fimc_lite_stop_capture(fimc, suspend);
- if (ret)
+ if (ret < 0 || !fimc_lite_active(fimc))
return ret;
return fimc_pipeline_shutdown(&fimc->pipeline);