From: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
To: Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org>
Cc: Dan Williams
<dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Bin Liu <b-liu-l0cyMroinI0@public.gmane.org>,
Daniel Mack <zonque-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Felipe Balbi
<felipe.balbi-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
Johan Hovold <johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Peter Ujfalusi <peter.ujfalusi-l0cyMroinI0@public.gmane.org>,
Sebastian Andrzej Siewior
<bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] dma: cpp41: Fix handling of error path
Date: Tue, 15 Nov 2016 12:58:17 -0800 [thread overview]
Message-ID: <20161115205816.GN4082@atomide.com> (raw)
In-Reply-To: <8d1e380a-ec75-3893-ea50-65e1526d58ea-l0cyMroinI0@public.gmane.org>
* Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org> [161115 00:35]:
> On Saturday 12 November 2016 12:58 AM, Tony Lindgren wrote:
> > If we return early on pm_runtime_get() error, we need to also call
> > pm_runtime_put_noidle() as pointed out in a musb related thread
> > by Johan Hovold <johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>. This is to keep the PM runtime
> > use counts happy.
> >
> > Fixes: fdea2d09b997 ("dmaengine: cppi41: Add basic PM runtime support")
> > Cc: Johan Hovold <johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> > Signed-off-by: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
> > ---
> > drivers/dma/cppi41.c | 11 +++++++++--
> > 1 file changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/dma/cppi41.c b/drivers/dma/cppi41.c
> > --- a/drivers/dma/cppi41.c
> > +++ b/drivers/dma/cppi41.c
> > @@ -366,8 +366,11 @@ static int cppi41_dma_alloc_chan_resources(struct dma_chan *chan)
> > int error;
> >
> > error = pm_runtime_get_sync(cdd->ddev.dev);
> > - if (error < 0)
> > + if (error < 0) {
> > + pm_runtime_put_noidle(cdd->ddev.dev);
> > +
>
> If pm_runtime_get_sync() fails due to callback error, then
> rpm_callback() sets dev.power.runtime_error to an error value which gets
> cleared by an explicit call to pm_runtime_set_suspended().
>
> This will tell the framework that the status of device is suspended.
> Else, the failure will be sticky and on subsequent attempts,
> rpm_resume() will keep returning early instead of trying to resume the
> device again.
>
> This is as far as I can gather from code. So, I believe the recovery
> path should be:
>
> if (error < 0) {
> pm_runtime_set_suspended(cdd->ddev.dev);
> pm_runtime_put_noidle(cdd->ddev.dev);
>
> ...
Well we should test this :)
BTW, what other users of cppi41 do we have in addition to musb? I think
davinci is or will be using it too?
Regards,
Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2016-11-15 20:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-11 19:28 [PATCH] dma: cpp41: Fix handling of error path Tony Lindgren
[not found] ` <20161111192852.25399-1-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-14 8:31 ` Vinod Koul
2016-11-14 14:34 ` Johan Hovold
2016-11-14 14:41 ` Johan Hovold
2016-11-14 14:47 ` Tony Lindgren
[not found] ` <20161114144731.GQ7138-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-14 14:59 ` Johan Hovold
2016-11-14 15:07 ` Tony Lindgren
2016-11-15 8:35 ` Sekhar Nori
[not found] ` <8d1e380a-ec75-3893-ea50-65e1526d58ea-l0cyMroinI0@public.gmane.org>
2016-11-15 20:58 ` Tony Lindgren [this message]
[not found] ` <20161115205816.GN4082-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-15 21:27 ` Bin Liu
2016-11-16 6:25 ` Sekhar Nori
[not found] ` <91726bb9-4919-22a4-174b-9c89e1001421-l0cyMroinI0@public.gmane.org>
2016-11-16 14:54 ` Tony Lindgren
[not found] ` <20161116145455.GP4082-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-16 17:11 ` Tony Lindgren
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=20161115205816.GN4082@atomide.com \
--to=tony-4v6ys6ai5vpbdgjk7y7tuq@public.gmane.org \
--cc=b-liu-l0cyMroinI0@public.gmane.org \
--cc=bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
--cc=dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=felipe.balbi-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
--cc=johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=nsekhar-l0cyMroinI0@public.gmane.org \
--cc=peter.ujfalusi-l0cyMroinI0@public.gmane.org \
--cc=vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=zonque-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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.