linux/drivers/media/platform
Geert Uytterhoeven 7892a1f64a [media] rcar-fcp: Make sure rcar_fcp_enable() returns 0 on success
When resuming from suspend-to-RAM on r8a7795/salvator-x:

    dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns 1
    PM: Device fe940000.fdp1 failed to resume noirq: error 1
    dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns 1
    PM: Device fe944000.fdp1 failed to resume noirq: error 1
    dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns 1
    PM: Device fe948000.fdp1 failed to resume noirq: error 1

According to its documentation, rcar_fcp_enable() returns 0 on success
or a negative error code if an error occurs.  Hence
fdp1_pm_runtime_resume() and vsp1_pm_runtime_resume() forward its return
value to their callers.

However, rcar_fcp_enable() forwards the return value of
pm_runtime_get_sync(), which can actually be 1 on success, leading to
the resume failure above.

To fix this, consider only negative values returned by
pm_runtime_get_sync() to be failures.

Fixes: 7b49235e83 ("[media] v4l: Add Renesas R-Car FCP driver")

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-09-15 09:02:16 -03:00
..
am437x [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
blackfin [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
coda [media] media: coda: Fix probe() if reset controller is missing 2016-07-08 16:34:59 -03:00
davinci [media] davinci: drop unused control callbacks 2016-07-12 11:12:00 -03:00
exynos4-is [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
exynos-gsc [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
marvell-ccic [media] mcam-core: use v4l2_s_ctrl instead of the s_ctrl op 2016-07-12 11:13:30 -03:00
mtk-vcodec [media] vcodec:mediatek: Refine VP8 encoder driver 2016-08-24 11:28:36 -03:00
mtk-vpu [media] VPU: mediatek: remove redundant dev_err call in mtk_vpu_probe() 2016-07-13 08:00:23 -03:00
omap Merge tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux 2016-08-01 21:44:08 -04:00
omap3isp [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
rcar-vin [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
s3c-camif [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
s5p-g2d [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
s5p-jpeg [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
s5p-mfc [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
s5p-tv [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
soc_camera [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
sti dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
ti-vpe [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
vivid [media] vivid: don't handle CEC_MSG_SET_STREAM_PATH 2016-07-28 20:15:23 -03:00
vsp1 [media] vsp1: use __maybe_unused for PM handlers 2016-07-13 13:46:12 -03:00
xilinx [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
arv.c [media] media: remove the setting of the flag V4L2_FL_USE_FH_PRIO 2014-07-04 16:14:59 -03:00
fsl-viu.c [media] fsl-viu: drop format names 2015-08-11 06:59:09 -03:00
Kconfig [media] mtk-vcodec: add HAS_DMA dependency 2016-08-22 14:02:42 -03:00
m2m-deinterlace.c [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
Makefile Merge branch 'topic/vsp1' into patchwork 2016-07-13 13:43:48 -03:00
mx2_emmaprp.c [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
rcar_jpu.c [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
rcar-fcp.c [media] rcar-fcp: Make sure rcar_fcp_enable() returns 0 on success 2016-09-15 09:02:16 -03:00
sh_veu.c [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
sh_vou.c [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
via-camera.c [media] via-camera: use v4l2_s_ctrl instead of the s_ctrl op 2016-07-12 11:14:04 -03:00
via-camera.h
vim2m.c [media] vim2m: copy the other colorspace-related fields as well 2016-07-28 20:13:56 -03:00