Message ID | 20200520085231.32552-1-dinghao.liu@zju.edu.cn (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Lorenzo Pieralisi |
Headers | show |
Series | PCI: tegra: fix runtime pm imbalance on error | expand |
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>
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
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 >
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
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>
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 > >
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 >>>
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; }
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(-)