Hi, * Johan Hovold <johan@xxxxxxxxxx> [161114 06:35]: > On Fri, Nov 11, 2016 at 11:28:52AM -0800, 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@xxxxxxxxxx>. This is to keep the PM runtime > > use counts happy. > > > > Fixes: fdea2d09b997 ("dmaengine: cppi41: Add basic PM runtime support") > > Cc: Johan Hovold <johan@xxxxxxxxxx> > > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> > > --- > > drivers/dma/cppi41.c | 11 +++++++++-- > > 1 file changed, 9 insertions(+), 2 deletions(-) > > > @@ -466,6 +472,7 @@ static void cppi41_dma_issue_pending(struct dma_chan *chan) > > > > error = pm_runtime_get(cdd->ddev.dev); > > if ((error != -EINPROGRESS) && error < 0) { > > + pm_runtime_put_noidle(cdd->ddev.dev); > > dev_err(cdd->ddev.dev, "Failed to pm_runtime_get: %i\n", > > error); > > Will this chunk not introduce rather than fix an imbalance, though? An > error is never returned above, and the corresponding put is done > unconditionally as far as I can tell. There is already an early return in cppi41_dma_issue_pending() on error. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html