* [PATCH] PCI: tegra: fix runtime pm imbalance on error
@ 2020-05-20 8:40 Dinghao Liu
[not found] ` <20200520084012.30190-1-dinghao.liu-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org>
0 siblings, 1 reply; 9+ 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] 9+ messages in thread[parent not found: <20200520084012.30190-1-dinghao.liu-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org>]
* Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error [not found] ` <20200520084012.30190-1-dinghao.liu-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org> @ 2020-05-20 9:40 ` Thierry Reding 2020-05-20 16:42 ` Bjorn Helgaas 1 sibling, 0 replies; 9+ messages in thread From: Thierry Reding @ 2020-05-20 9:40 UTC (permalink / raw) To: Dinghao Liu Cc: kjlu-OJFnDUYgAso, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas, Jonathan Hunter, linux-tegra-u79uwXL29TY76Z2rM5mHXA, linux-pci-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 910 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-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org> > --- > 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-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error [not found] ` <20200520084012.30190-1-dinghao.liu-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org> 2020-05-20 9:40 ` Thierry Reding @ 2020-05-20 16:42 ` Bjorn Helgaas 1 sibling, 0 replies; 9+ messages in thread From: Bjorn Helgaas @ 2020-05-20 16:42 UTC (permalink / raw) To: Dinghao Liu Cc: kjlu-OJFnDUYgAso, Thierry Reding, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas, Jonathan Hunter, linux-tegra-u79uwXL29TY76Z2rM5mHXA, linux-pci-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA 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-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org> > --- > 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] 9+ messages in thread
* [PATCH] PCI: tegra: fix runtime pm imbalance on error
@ 2020-05-20 8:52 Dinghao Liu
[not found] ` <20200520085231.32552-1-dinghao.liu-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Dinghao Liu @ 2020-05-20 8:52 UTC (permalink / raw)
To: dinghao.liu-Y5EWUtBUdg4nDS1+zs4M5A, kjlu-OJFnDUYgAso
Cc: Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas, Thierry Reding,
Jonathan Hunter, Vidya Sagar, Andrew Murray,
linux-pci-u79uwXL29TY76Z2rM5mHXA,
linux-tegra-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
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-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org>
---
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] 9+ messages in thread[parent not found: <20200520085231.32552-1-dinghao.liu-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org>]
* Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error [not found] ` <20200520085231.32552-1-dinghao.liu-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org> @ 2020-05-20 9:59 ` Thierry Reding 2020-05-20 16:37 ` Bjorn Helgaas 0 siblings, 1 reply; 9+ messages in thread From: Thierry Reding @ 2020-05-20 9:59 UTC (permalink / raw) To: Dinghao Liu Cc: kjlu-OJFnDUYgAso, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas, Jonathan Hunter, Vidya Sagar, Andrew Murray, linux-pci-u79uwXL29TY76Z2rM5mHXA, linux-tegra-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 1752 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-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org> > --- > 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-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 9+ 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 0 siblings, 1 reply; 9+ 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] 9+ 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 [not found] ` <e7c967a0-c285-450a-bbad-f6456c661d41-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: Vidya Sagar @ 2020-05-20 18:09 UTC (permalink / raw) To: Bjorn Helgaas, Thierry Reding Cc: Dinghao Liu, kjlu-OJFnDUYgAso, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas, Jonathan Hunter, Andrew Murray, linux-pci-u79uwXL29TY76Z2rM5mHXA, linux-tegra-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA 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-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 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] 9+ messages in thread
[parent not found: <e7c967a0-c285-450a-bbad-f6456c661d41-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH] PCI: tegra: fix runtime pm imbalance on error [not found] ` <e7c967a0-c285-450a-bbad-f6456c661d41-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> @ 2020-05-29 10:23 ` Lorenzo Pieralisi 2020-05-29 10:58 ` Vidya Sagar 0 siblings, 1 reply; 9+ 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-OJFnDUYgAso, Rob Herring, Bjorn Helgaas, Jonathan Hunter, Andrew Murray, linux-pci-u79uwXL29TY76Z2rM5mHXA, linux-tegra-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA 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-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 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] 9+ 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; 9+ 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] 9+ messages in thread
end of thread, other threads:[~2020-05-29 10:58 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-20 8:40 [PATCH] PCI: tegra: fix runtime pm imbalance on error Dinghao Liu
[not found] ` <20200520084012.30190-1-dinghao.liu-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org>
2020-05-20 9:40 ` Thierry Reding
2020-05-20 16:42 ` Bjorn Helgaas
-- strict thread matches above, loose matches on Subject: below --
2020-05-20 8:52 Dinghao Liu
[not found] ` <20200520085231.32552-1-dinghao.liu-Y5EWUtBUdg4nDS1+zs4M5A@public.gmane.org>
2020-05-20 9:59 ` Thierry Reding
2020-05-20 16:37 ` Bjorn Helgaas
2020-05-20 18:09 ` Vidya Sagar
[not found] ` <e7c967a0-c285-450a-bbad-f6456c661d41-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-05-29 10:23 ` Lorenzo Pieralisi
2020-05-29 10:58 ` Vidya Sagar
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).