[media] rcar-fcp: Make sure rcar_fcp_enable() returns 0 on success
authorGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 9 Aug 2016 15:36:41 +0000 (12:36 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Thu, 15 Sep 2016 12:02:16 +0000 (09:02 -0300)
commit7892a1f64a447b6f65fe2888688883b7c26d81d3
treee82a66b65109ada2a635b94c40f40fcdedbaa589
parent60815d4a78204915f5cdf79a536bc96d5d23ae5f
[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: 7b49235e83b2347c ("[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>
drivers/media/platform/rcar-fcp.c