From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Linux Media Mailing List <linux-media@vger.kernel.org>,
Linux-Renesas <linux-renesas-soc@vger.kernel.org>
Subject: Re: [PATCH] [media] rcar-fcp: Make sure rcar_fcp_enable() returns 0 on success
Date: Mon, 05 Sep 2016 11:17:37 +0300 [thread overview]
Message-ID: <9895129.d3fHn4vy22@avalon> (raw)
In-Reply-To: <CAMuHMdWoq+F6YWTEGtLc5G4PTQO=F19VaEire9JAr+0z7PxJ-g@mail.gmail.com>
Hi Geert,
On Tuesday 23 Aug 2016 15:11:59 Geert Uytterhoeven wrote:
> On Wed, Aug 17, 2016 at 2:55 PM, Laurent Pinchart wrote:
> > On Tuesday 09 Aug 2016 17:36:41 Geert Uytterhoeven wrote:
> >> 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>
> >> ---
> >>
> >> drivers/media/platform/rcar-fcp.c | 8 +++++++-
> >> 1 file changed, 7 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/media/platform/rcar-fcp.c
> >> b/drivers/media/platform/rcar-fcp.c index
> >> 0ff6b1edf1dbf677..7e944479205d4059 100644
> >> --- a/drivers/media/platform/rcar-fcp.c
> >> +++ b/drivers/media/platform/rcar-fcp.c
> >> @@ -99,10 +99,16 @@ EXPORT_SYMBOL_GPL(rcar_fcp_put);
> >>
> >> */
> >>
> >> int rcar_fcp_enable(struct rcar_fcp_device *fcp)
> >> {
> >>
> >> + int error;
> >
> > I was going to write that the driver uses "ret" instead of "error" for
> > integer status return values, but it doesn't as there no such value
> > stored in a variable at all. I will thus argue that it will use that
> > style later, so let's keep the style consistent with the to-be-written
> > code if you don't mind :-)
> >
> > Apart from that,
> >
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> >
> > and applied to my tree.
>
> Thanks!
>
> Where exactly has this been applied?
git://linuxtv.org/pinchartl/media.git vsp1/next
I see now that Mauro has applied it already. Mauro, could you please avoid
merging patches that I take through my tree, especially when I request changes
?
> >> if (!fcp)
> >>
> >> return 0;
> >>
> >> - return pm_runtime_get_sync(fcp->dev);
> >> + error = pm_runtime_get_sync(fcp->dev);
> >> + if (error < 0)
> >> + return error;
> >> +
> >> + return 0;
> >>
> >> }
> >> EXPORT_SYMBOL_GPL(rcar_fcp_enable);
>
> BTW, it seems I missed a few more s2ram resume errors:
>
> dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns -13
> PM: Device fe920000.vsp failed to resume noirq: error -13
> dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns -13
> PM: Device fe960000.vsp failed to resume noirq: error -13
> dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns -13
> PM: Device fe9a0000.vsp failed to resume noirq: error -13
> dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns -13
> PM: Device fe9b0000.vsp failed to resume noirq: error -13
> dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns -13
> PM: Device fe9c0000.vsp failed to resume noirq: error -13
> dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns -13
> PM: Device fea20000.vsp failed to resume noirq: error -13
> dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns -13
> PM: Device fea28000.vsp failed to resume noirq: error -13
> dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns -13
> PM: Device fea30000.vsp failed to resume noirq: error -13
> vsp1 fea38000.vsp: failed to reset wpf.0
> dpm_run_callback(): pm_genpd_resume_noirq+0x0/0x90 returns -110
> PM: Device fea38000.vsp failed to resume noirq: error -110
>
> -13 == -EACCES, returned by rcar_fcp_enable() as pm_runtime_get_sync()
> is called too early during system resume,
Do you have a fix for this ? :-)
> -110 = ETIMEDOUT, returned by vsp1_device_init() due to the failure
> to reset wpf.0.
This one needs to be investigated.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2016-09-05 8:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-09 15:36 [PATCH] [media] rcar-fcp: Make sure rcar_fcp_enable() returns 0 on success Geert Uytterhoeven
2016-08-17 12:55 ` Laurent Pinchart
2016-08-23 13:11 ` Geert Uytterhoeven
2016-09-05 8:17 ` Laurent Pinchart [this message]
2016-09-05 8:20 ` Geert Uytterhoeven
2016-09-05 8:25 ` Laurent Pinchart
2016-09-05 8:49 ` Geert Uytterhoeven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9895129.d3fHn4vy22@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=geert+renesas@glider.be \
--cc=geert@linux-m68k.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=mchehab@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.