* [PATCH] PCI: tegra: fix runtime pm imbalance on error
@ 2020-05-20 8:52 Dinghao Liu
2020-05-20 9:59 ` Thierry Reding
0 siblings, 1 reply; 11+ messages in thread
From: Dinghao Liu @ 2020-05-20 8:52 UTC (permalink / raw)
To: dinghao.liu, kjlu
Cc: Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas, Thierry Reding,
Jonathan Hunter, Vidya Sagar, Andrew Murray, linux-pci,
linux-tegra, linux-kernel
pm_runtime_get_sync() increments the runtime PM usage counter even
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 <dinghao.liu@zju.edu.cn>
---
drivers/pci/controller/dwc/pcie-tegra194.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
index ae30a2fd3716..a69f9e49dcb5 100644
--- a/drivers/pci/controller/dwc/pcie-tegra194.c
+++ b/drivers/pci/controller/dwc/pcie-tegra194.c
@@ -1651,8 +1651,8 @@ static int tegra_pcie_config_rp(struct tegra_pcie_dw *pcie)
fail_host_init:
tegra_pcie_deinit_controller(pcie);
fail_pinctrl:
- pm_runtime_put_sync(dev);
fail_pm_get_sync:
+ pm_runtime_put_sync(dev);
pm_runtime_disable(dev);
return ret;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error
2020-05-20 8:52 [PATCH] PCI: tegra: fix runtime pm imbalance on error Dinghao Liu
@ 2020-05-20 9:59 ` Thierry Reding
2020-05-20 16:37 ` Bjorn Helgaas
2020-05-21 3:06 ` dinghao.liu
0 siblings, 2 replies; 11+ messages in thread
From: Thierry Reding @ 2020-05-20 9:59 UTC (permalink / raw)
To: Dinghao Liu
Cc: kjlu, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas,
Jonathan Hunter, Vidya Sagar, Andrew Murray, linux-pci,
linux-tegra, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1694 bytes --]
On Wed, May 20, 2020 at 04:52:23PM +0800, Dinghao Liu wrote:
> pm_runtime_get_sync() increments the runtime PM usage counter even
> it returns an error code. Thus a pairing decrement is needed on
s/even it/even when it/
Might also be a good idea to use a different subject prefix because I
was almost not going to look at the other patch, taking this to be a
replacement for it.
Although, looking at the log we have used this same prefix for both
drivers in the past...
> the error handling path to keep the counter balanced.
>
> Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
> ---
> drivers/pci/controller/dwc/pcie-tegra194.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> index ae30a2fd3716..a69f9e49dcb5 100644
> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> @@ -1651,8 +1651,8 @@ static int tegra_pcie_config_rp(struct tegra_pcie_dw *pcie)
> fail_host_init:
> tegra_pcie_deinit_controller(pcie);
> fail_pinctrl:
> - pm_runtime_put_sync(dev);
> fail_pm_get_sync:
Either of those two labels is now no longer needed. Of course it'll now
be odd to jump to fail_pm_get_sync on pinctrl_pm_select_default_state()
failure, but that's one of the reasons why label should have names
describing what they do rather than describe the failure location. I
guess we can live with that for now. I'll make a note to send a cleanup
patch for that later on.
With the fixup in the commit message and either of the labels removed:
Acked-by: Thierry Reding <treding@nvidia.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error
2020-05-20 9:59 ` Thierry Reding
@ 2020-05-20 16:37 ` Bjorn Helgaas
2020-05-20 18:09 ` Vidya Sagar
2020-05-21 3:00 ` dinghao.liu
2020-05-21 3:06 ` dinghao.liu
1 sibling, 2 replies; 11+ messages in thread
From: Bjorn Helgaas @ 2020-05-20 16:37 UTC (permalink / raw)
To: Thierry Reding
Cc: Dinghao Liu, kjlu, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas,
Jonathan Hunter, Vidya Sagar, Andrew Murray, linux-pci,
linux-tegra, linux-kernel
On Wed, May 20, 2020 at 11:59:08AM +0200, Thierry Reding wrote:
> On Wed, May 20, 2020 at 04:52:23PM +0800, Dinghao Liu wrote:
> > pm_runtime_get_sync() increments the runtime PM usage counter even
> > it returns an error code. Thus a pairing decrement is needed on
>
> s/even it/even when it/
>
> Might also be a good idea to use a different subject prefix because I
> was almost not going to look at the other patch, taking this to be a
> replacement for it.
Amen. This would be a good change to start using "PCI: tegra194" or
something for pcie-tegra194.c. Or will there be tegra195, tegra 196,
etc added to this driver?
Also, please capitalize the first word and "PM" in the subjects:
PCI: tegra194: Fix runtime PM imbalance on error
Bjorn
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error
2020-05-20 16:37 ` Bjorn Helgaas
@ 2020-05-20 18:09 ` Vidya Sagar
2020-05-29 10:23 ` Lorenzo Pieralisi
2020-05-21 3:00 ` dinghao.liu
1 sibling, 1 reply; 11+ messages in thread
From: Vidya Sagar @ 2020-05-20 18:09 UTC (permalink / raw)
To: Bjorn Helgaas, Thierry Reding
Cc: Dinghao Liu, kjlu, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas,
Jonathan Hunter, Andrew Murray, linux-pci, linux-tegra,
linux-kernel
Thanks for pushing a patch to fix it. I've been under the wrong
assumption that a failing pm_runtime_get_sync() wouldn't increment the
usage counter.
With Thierry's and Bjorn's comments addressed
Acked-by: Vidya Sagar <vidyas@nvidia.com>
On 20-May-20 10:07 PM, Bjorn Helgaas wrote:
> External email: Use caution opening links or attachments
>
>
> On Wed, May 20, 2020 at 11:59:08AM +0200, Thierry Reding wrote:
>> On Wed, May 20, 2020 at 04:52:23PM +0800, Dinghao Liu wrote:
>>> pm_runtime_get_sync() increments the runtime PM usage counter even
>>> it returns an error code. Thus a pairing decrement is needed on
>>
>> s/even it/even when it/
>>
>> Might also be a good idea to use a different subject prefix because I
>> was almost not going to look at the other patch, taking this to be a
>> replacement for it.
>
> Amen. This would be a good change to start using "PCI: tegra194" or
> something for pcie-tegra194.c. Or will there be tegra195, tegra 196,
> etc added to this driver?
>
> Also, please capitalize the first word and "PM" in the subjects:
>
> PCI: tegra194: Fix runtime PM imbalance on error
>
> Bjorn
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error
2020-05-20 16:37 ` Bjorn Helgaas
2020-05-20 18:09 ` Vidya Sagar
@ 2020-05-21 3:00 ` dinghao.liu
1 sibling, 0 replies; 11+ messages in thread
From: dinghao.liu @ 2020-05-21 3:00 UTC (permalink / raw)
To: Bjorn Helgaas
Cc: Thierry Reding, kjlu, Lorenzo Pieralisi, Rob Herring,
Bjorn Helgaas, Jonathan Hunter, Vidya Sagar, Andrew Murray,
linux-pci, linux-tegra, linux-kernel
Thank you for your advice. I think tegra194 is a good choice and
I will use it in the next edition of patch.
"Bjorn Helgaas" <helgaas@kernel.org>写道:
> On Wed, May 20, 2020 at 11:59:08AM +0200, Thierry Reding wrote:
> > On Wed, May 20, 2020 at 04:52:23PM +0800, Dinghao Liu wrote:
> > > pm_runtime_get_sync() increments the runtime PM usage counter even
> > > it returns an error code. Thus a pairing decrement is needed on
> >
> > s/even it/even when it/
> >
> > Might also be a good idea to use a different subject prefix because I
> > was almost not going to look at the other patch, taking this to be a
> > replacement for it.
>
> Amen. This would be a good change to start using "PCI: tegra194" or
> something for pcie-tegra194.c. Or will there be tegra195, tegra 196,
> etc added to this driver?
>
> Also, please capitalize the first word and "PM" in the subjects:
>
> PCI: tegra194: Fix runtime PM imbalance on error
>
> Bjorn
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error
2020-05-20 9:59 ` Thierry Reding
2020-05-20 16:37 ` Bjorn Helgaas
@ 2020-05-21 3:06 ` dinghao.liu
1 sibling, 0 replies; 11+ messages in thread
From: dinghao.liu @ 2020-05-21 3:06 UTC (permalink / raw)
To: Thierry Reding
Cc: kjlu, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas,
Jonathan Hunter, Vidya Sagar, Andrew Murray, linux-pci,
linux-tegra, linux-kernel
Thank you for your advice. I will fix these problems in the next edition of patch.
"Thierry Reding" <thierry.reding@gmail.com>写道:
> On Wed, May 20, 2020 at 04:52:23PM +0800, Dinghao Liu wrote:
> > pm_runtime_get_sync() increments the runtime PM usage counter even
> > it returns an error code. Thus a pairing decrement is needed on
>
> s/even it/even when it/
>
> Might also be a good idea to use a different subject prefix because I
> was almost not going to look at the other patch, taking this to be a
> replacement for it.
>
> Although, looking at the log we have used this same prefix for both
> drivers in the past...
>
> > the error handling path to keep the counter balanced.
> >
> > Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
> > ---
> > drivers/pci/controller/dwc/pcie-tegra194.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> > index ae30a2fd3716..a69f9e49dcb5 100644
> > --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> > +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> > @@ -1651,8 +1651,8 @@ static int tegra_pcie_config_rp(struct tegra_pcie_dw *pcie)
> > fail_host_init:
> > tegra_pcie_deinit_controller(pcie);
> > fail_pinctrl:
> > - pm_runtime_put_sync(dev);
> > fail_pm_get_sync:
>
> Either of those two labels is now no longer needed. Of course it'll now
> be odd to jump to fail_pm_get_sync on pinctrl_pm_select_default_state()
> failure, but that's one of the reasons why label should have names
> describing what they do rather than describe the failure location. I
> guess we can live with that for now. I'll make a note to send a cleanup
> patch for that later on.
>
> With the fixup in the commit message and either of the labels removed:
>
> Acked-by: Thierry Reding <treding@nvidia.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error
2020-05-20 18:09 ` Vidya Sagar
@ 2020-05-29 10:23 ` Lorenzo Pieralisi
2020-05-29 10:58 ` Vidya Sagar
0 siblings, 1 reply; 11+ messages in thread
From: Lorenzo Pieralisi @ 2020-05-29 10:23 UTC (permalink / raw)
To: Vidya Sagar, Thierry Reding
Cc: Bjorn Helgaas, Dinghao Liu, kjlu, Rob Herring, Bjorn Helgaas,
Jonathan Hunter, Andrew Murray, linux-pci, linux-tegra,
linux-kernel
On Wed, May 20, 2020 at 11:39:08PM +0530, Vidya Sagar wrote:
> Thanks for pushing a patch to fix it. I've been under the wrong assumption
> that a failing pm_runtime_get_sync() wouldn't increment the usage counter.
> With Thierry's and Bjorn's comments addressed
>
> Acked-by: Vidya Sagar <vidyas@nvidia.com>
Thierry, Vidya,
are your ACKs applying also to:
https://patchwork.kernel.org/patch/11562109/
Dinghao did not carry them over and I could not understand from this
thread if your ACKs apply to both tegra and tegra194.
Thanks,
Lorenzo
> On 20-May-20 10:07 PM, Bjorn Helgaas wrote:
> > External email: Use caution opening links or attachments
> >
> >
> > On Wed, May 20, 2020 at 11:59:08AM +0200, Thierry Reding wrote:
> > > On Wed, May 20, 2020 at 04:52:23PM +0800, Dinghao Liu wrote:
> > > > pm_runtime_get_sync() increments the runtime PM usage counter even
> > > > it returns an error code. Thus a pairing decrement is needed on
> > >
> > > s/even it/even when it/
> > >
> > > Might also be a good idea to use a different subject prefix because I
> > > was almost not going to look at the other patch, taking this to be a
> > > replacement for it.
> >
> > Amen. This would be a good change to start using "PCI: tegra194" or
> > something for pcie-tegra194.c. Or will there be tegra195, tegra 196,
> > etc added to this driver?
> >
> > Also, please capitalize the first word and "PM" in the subjects:
> >
> > PCI: tegra194: Fix runtime PM imbalance on error
> >
> > Bjorn
> >
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error
2020-05-29 10:23 ` Lorenzo Pieralisi
@ 2020-05-29 10:58 ` Vidya Sagar
0 siblings, 0 replies; 11+ messages in thread
From: Vidya Sagar @ 2020-05-29 10:58 UTC (permalink / raw)
To: Lorenzo Pieralisi, Thierry Reding
Cc: Bjorn Helgaas, Dinghao Liu, kjlu, Rob Herring, Bjorn Helgaas,
Jonathan Hunter, Andrew Murray, linux-pci, linux-tegra,
linux-kernel
On 29-May-20 3:53 PM, Lorenzo Pieralisi wrote:
> External email: Use caution opening links or attachments
>
>
> On Wed, May 20, 2020 at 11:39:08PM +0530, Vidya Sagar wrote:
>> Thanks for pushing a patch to fix it. I've been under the wrong assumption
>> that a failing pm_runtime_get_sync() wouldn't increment the usage counter.
>> With Thierry's and Bjorn's comments addressed
>>
>> Acked-by: Vidya Sagar <vidyas@nvidia.com>
>
> Thierry, Vidya,
>
> are your ACKs applying also to:
>
> https://patchwork.kernel.org/patch/11562109/
I just took a look at this change and it looks good to me.
So, I'm fine with extending my 'Acked-by' to this patch as well.
Thanks,
Vidya Sagar
>
> Dinghao did not carry them over and I could not understand from this
> thread if your ACKs apply to both tegra and tegra194.
>
> Thanks,
> Lorenzo
>
>> On 20-May-20 10:07 PM, Bjorn Helgaas wrote:
>>> External email: Use caution opening links or attachments
>>>
>>>
>>> On Wed, May 20, 2020 at 11:59:08AM +0200, Thierry Reding wrote:
>>>> On Wed, May 20, 2020 at 04:52:23PM +0800, Dinghao Liu wrote:
>>>>> pm_runtime_get_sync() increments the runtime PM usage counter even
>>>>> it returns an error code. Thus a pairing decrement is needed on
>>>>
>>>> s/even it/even when it/
>>>>
>>>> Might also be a good idea to use a different subject prefix because I
>>>> was almost not going to look at the other patch, taking this to be a
>>>> replacement for it.
>>>
>>> Amen. This would be a good change to start using "PCI: tegra194" or
>>> something for pcie-tegra194.c. Or will there be tegra195, tegra 196,
>>> etc added to this driver?
>>>
>>> Also, please capitalize the first word and "PM" in the subjects:
>>>
>>> PCI: tegra194: Fix runtime PM imbalance on error
>>>
>>> Bjorn
>>>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error
2020-05-20 8:40 Dinghao Liu
2020-05-20 9:40 ` Thierry Reding
@ 2020-05-20 16:42 ` Bjorn Helgaas
1 sibling, 0 replies; 11+ messages in thread
From: Bjorn Helgaas @ 2020-05-20 16:42 UTC (permalink / raw)
To: Dinghao Liu
Cc: kjlu, Thierry Reding, Lorenzo Pieralisi, Rob Herring,
Bjorn Helgaas, Jonathan Hunter, linux-tegra, linux-pci,
linux-kernel
On Wed, May 20, 2020 at 04:40:12PM +0800, Dinghao Liu wrote:
> pm_runtime_get_sync() increments the runtime PM usage counter even
> it returns an error code. Thus a pairing decrement is needed on
> the error handling path to keep the counter balanced.
>
> Also This driver forgets to call pm_runtime_disable() when
> pm_runtime_get_sync() returns an error code.
Also, call pm_runtime_disable() when pm_runtime_get_sync() returns
an error code.
> Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
> ---
> drivers/pci/controller/pci-tegra.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/pci/controller/pci-tegra.c b/drivers/pci/controller/pci-tegra.c
> index 3e64ba6a36a8..00236dd65b5b 100644
> --- a/drivers/pci/controller/pci-tegra.c
> +++ b/drivers/pci/controller/pci-tegra.c
> @@ -2712,7 +2712,7 @@ static int tegra_pcie_probe(struct platform_device *pdev)
> err = pm_runtime_get_sync(pcie->dev);
> if (err < 0) {
> dev_err(dev, "fail to enable pcie controller: %d\n", err);
> - goto teardown_msi;
> + goto pm_runtime_put;
> }
>
> host->busnr = bus->start;
> @@ -2746,7 +2746,6 @@ static int tegra_pcie_probe(struct platform_device *pdev)
> pm_runtime_put:
> pm_runtime_put_sync(pcie->dev);
> pm_runtime_disable(pcie->dev);
> -teardown_msi:
> tegra_pcie_msi_teardown(pcie);
> put_resources:
> tegra_pcie_put_resources(pcie);
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error
2020-05-20 8:40 Dinghao Liu
@ 2020-05-20 9:40 ` Thierry Reding
2020-05-20 16:42 ` Bjorn Helgaas
1 sibling, 0 replies; 11+ messages in thread
From: Thierry Reding @ 2020-05-20 9:40 UTC (permalink / raw)
To: Dinghao Liu
Cc: kjlu, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas,
Jonathan Hunter, linux-tegra, linux-pci, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 852 bytes --]
On Wed, May 20, 2020 at 04:40:12PM +0800, Dinghao Liu wrote:
> pm_runtime_get_sync() increments the runtime PM usage counter even
> it returns an error code. Thus a pairing decrement is needed on
s/even it/even when it/
> the error handling path to keep the counter balanced.
>
> Also This driver forgets to call pm_runtime_disable() when
s/Also This/Also this/
> pm_runtime_get_sync() returns an error code.
>
> Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
> ---
> drivers/pci/controller/pci-tegra.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
Otherwise looks correct. It's came as somewhat of a surprise to me that
pm_runtime_get_sync() increments the usage counter even on failure, but
it does indeed.
With the above fixes to the commit message:
Acked-by: Thierry Reding <treding@nvidia.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] PCI: tegra: fix runtime pm imbalance on error
@ 2020-05-20 8:40 Dinghao Liu
2020-05-20 9:40 ` Thierry Reding
2020-05-20 16:42 ` Bjorn Helgaas
0 siblings, 2 replies; 11+ messages in thread
From: Dinghao Liu @ 2020-05-20 8:40 UTC (permalink / raw)
To: dinghao.liu, kjlu
Cc: Thierry Reding, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas,
Jonathan Hunter, linux-tegra, linux-pci, linux-kernel
pm_runtime_get_sync() increments the runtime PM usage counter even
it returns an error code. Thus a pairing decrement is needed on
the error handling path to keep the counter balanced.
Also This driver forgets to call pm_runtime_disable() when
pm_runtime_get_sync() returns an error code.
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
---
drivers/pci/controller/pci-tegra.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/pci/controller/pci-tegra.c b/drivers/pci/controller/pci-tegra.c
index 3e64ba6a36a8..00236dd65b5b 100644
--- a/drivers/pci/controller/pci-tegra.c
+++ b/drivers/pci/controller/pci-tegra.c
@@ -2712,7 +2712,7 @@ static int tegra_pcie_probe(struct platform_device *pdev)
err = pm_runtime_get_sync(pcie->dev);
if (err < 0) {
dev_err(dev, "fail to enable pcie controller: %d\n", err);
- goto teardown_msi;
+ goto pm_runtime_put;
}
host->busnr = bus->start;
@@ -2746,7 +2746,6 @@ static int tegra_pcie_probe(struct platform_device *pdev)
pm_runtime_put:
pm_runtime_put_sync(pcie->dev);
pm_runtime_disable(pcie->dev);
-teardown_msi:
tegra_pcie_msi_teardown(pcie);
put_resources:
tegra_pcie_put_resources(pcie);
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
end of thread, other threads:[~2020-05-29 10:58 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-20 8:52 [PATCH] PCI: tegra: fix runtime pm imbalance on error Dinghao Liu
2020-05-20 9:59 ` Thierry Reding
2020-05-20 16:37 ` Bjorn Helgaas
2020-05-20 18:09 ` Vidya Sagar
2020-05-29 10:23 ` Lorenzo Pieralisi
2020-05-29 10:58 ` Vidya Sagar
2020-05-21 3:00 ` dinghao.liu
2020-05-21 3:06 ` dinghao.liu
-- strict thread matches above, loose matches on Subject: below --
2020-05-20 8:40 Dinghao Liu
2020-05-20 9:40 ` Thierry Reding
2020-05-20 16:42 ` Bjorn Helgaas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).