• Geert Uytterhoeven's avatar
    [media] rcar-fcp: Make sure rcar_fcp_enable() returns 0 on success · ba75faf4
    Geert Uytterhoeven authored
    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: 7b49235e ("[media] v4l: Add Renesas R-Car FCP driver")
    Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    ba75faf4
rcar-fcp.c 4.38 KB