Re: Re: [PATCH] dmaengine: tegra210-adma: Fix runtime PM imbalance on error
> > On 22/05/2020 11:57, dinghao@zju.edu.cn wrote: > >> > >> On 22/05/2020 08:58, Dinghao Liu wrote: > >>> pm_runtime_get_sync() increments the runtime PM usage counter even > >>> when it returns an error code. Thus a pairing decrement is needed on > >>> the error handling path to keep the counter balanced. > >>> > >>> Signed-off-by: Dinghao Liu > >>> --- > >>> drivers/dma/tegra210-adma.c | 1 + > >>> 1 file changed, 1 insertion(+) > >>> > >>> diff --git a/drivers/dma/tegra210-adma.c b/drivers/dma/tegra210-adma.c > >>> index c4ce5dfb149b..803e1f4d5dac 100644 > >>> --- a/drivers/dma/tegra210-adma.c > >>> +++ b/drivers/dma/tegra210-adma.c > >>> @@ -658,6 +658,7 @@ static int tegra_adma_alloc_chan_resources(struct > >>> dma_chan *dc) > >>> > >>> ret = pm_runtime_get_sync(tdc2dev(tdc)); > >>> if (ret < 0) { > >>> + pm_runtime_put_sync(tdc2dev(tdc)); > >>> free_irq(tdc->irq, tdc); > >>> return ret; > >>> } > >>> > >> > >> > >> There is another place in probe that needs to be fixed as well. Can you > >> correct this while you are at it? > >> > >> Thanks > >> Jon > >> > >> -- > >> nvpublic > > > > Sure. I have sent a patch to fix PM imbalance in tegra_adma_probe(). > > > You should only send one patch to fix both instances as it is the same > driver. It is impossible to figure out that two patches with the same > $subject are different. > > Jon > > -- > nvpublic OK. I will fix this in the next version of patch. Regards, Dinghao
Re: [PATCH] dmaengine: tegra210-adma: Fix runtime PM imbalance on error
On 22/05/2020 11:57, dinghao@zju.edu.cn wrote: >> >> On 22/05/2020 08:58, Dinghao Liu wrote: >>> pm_runtime_get_sync() increments the runtime PM usage counter even >>> when it returns an error code. Thus a pairing decrement is needed on >>> the error handling path to keep the counter balanced. >>> >>> Signed-off-by: Dinghao Liu >>> --- >>> drivers/dma/tegra210-adma.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/drivers/dma/tegra210-adma.c b/drivers/dma/tegra210-adma.c >>> index c4ce5dfb149b..803e1f4d5dac 100644 >>> --- a/drivers/dma/tegra210-adma.c >>> +++ b/drivers/dma/tegra210-adma.c >>> @@ -658,6 +658,7 @@ static int tegra_adma_alloc_chan_resources(struct >>> dma_chan *dc) >>> >>> ret = pm_runtime_get_sync(tdc2dev(tdc)); >>> if (ret < 0) { >>> + pm_runtime_put_sync(tdc2dev(tdc)); >>> free_irq(tdc->irq, tdc); >>> return ret; >>> } >>> >> >> >> There is another place in probe that needs to be fixed as well. Can you >> correct this while you are at it? >> >> Thanks >> Jon >> >> -- >> nvpublic > > Sure. I have sent a patch to fix PM imbalance in tegra_adma_probe(). You should only send one patch to fix both instances as it is the same driver. It is impossible to figure out that two patches with the same $subject are different. Jon -- nvpublic
Re: Re: [PATCH] dmaengine: tegra210-adma: Fix runtime PM imbalance on error
> > On 22/05/2020 08:58, Dinghao Liu wrote: > > pm_runtime_get_sync() increments the runtime PM usage counter even > > when it returns an error code. Thus a pairing decrement is needed on > > the error handling path to keep the counter balanced. > > > > Signed-off-by: Dinghao Liu > > --- > > drivers/dma/tegra210-adma.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/dma/tegra210-adma.c b/drivers/dma/tegra210-adma.c > > index c4ce5dfb149b..803e1f4d5dac 100644 > > --- a/drivers/dma/tegra210-adma.c > > +++ b/drivers/dma/tegra210-adma.c > > @@ -658,6 +658,7 @@ static int tegra_adma_alloc_chan_resources(struct > > dma_chan *dc) > > > > ret = pm_runtime_get_sync(tdc2dev(tdc)); > > if (ret < 0) { > > + pm_runtime_put_sync(tdc2dev(tdc)); > > free_irq(tdc->irq, tdc); > > return ret; > > } > > > > > There is another place in probe that needs to be fixed as well. Can you > correct this while you are at it? > > Thanks > Jon > > -- > nvpublic Sure. I have sent a patch to fix PM imbalance in tegra_adma_probe(). Regards, Dinghao
Re: [PATCH] dmaengine: tegra210-adma: Fix runtime PM imbalance on error
On 22/05/2020 08:58, Dinghao Liu wrote: > pm_runtime_get_sync() increments the runtime PM usage counter even > when it returns an error code. Thus a pairing decrement is needed on > the error handling path to keep the counter balanced. > > Signed-off-by: Dinghao Liu > --- > drivers/dma/tegra210-adma.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/dma/tegra210-adma.c b/drivers/dma/tegra210-adma.c > index c4ce5dfb149b..803e1f4d5dac 100644 > --- a/drivers/dma/tegra210-adma.c > +++ b/drivers/dma/tegra210-adma.c > @@ -658,6 +658,7 @@ static int tegra_adma_alloc_chan_resources(struct > dma_chan *dc) > > ret = pm_runtime_get_sync(tdc2dev(tdc)); > if (ret < 0) { > + pm_runtime_put_sync(tdc2dev(tdc)); > free_irq(tdc->irq, tdc); > return ret; > } > There is another place in probe that needs to be fixed as well. Can you correct this while you are at it? Thanks Jon -- nvpublic