Re: [PATCH] PCI: dwc: fix reference leak in pex_ep_event_pex_rst_deassert

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 25, 2021 at 07:30:13PM +0000, Jon Hunter wrote:
> 
> On 03/11/2020 02:52, Vidya Sagar wrote:
> > 
> > 
> > On 11/2/2020 8:00 PM, Zhang Qilong wrote:
> >> External email: Use caution opening links or attachments
> >>
> >>
> >> pm_runtime_get_sync will increment pm usage counter even it
> >> failed. Forgetting to pm_runtime_put_noidle will result in
> >> reference leak in pex_ep_event_pex_rst_deassert, so we should
> >> fix it.
> >>
> >> Fixes: c57247f940e8e ("PCI: tegra: Add support for PCIe endpoint mode
> >> in Tegra194")
> >> Signed-off-by: Zhang Qilong <zhangqilong3@xxxxxxxxxx>
> >> ---
> >>   drivers/pci/controller/dwc/pcie-tegra194.c | 1 +
> >>   1 file changed, 1 insertion(+)
> >>
> >> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c
> >> b/drivers/pci/controller/dwc/pcie-tegra194.c
> >> index f920e7efe118..936510b5c649 100644
> >> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> >> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> >> @@ -1662,6 +1662,7 @@ static void pex_ep_event_pex_rst_deassert(struct
> >> tegra_pcie_dw *pcie)
> >>
> >>          ret = pm_runtime_get_sync(dev);
> >>          if (ret < 0) {
> >> +               pm_runtime_put_noidle(dev);
> > Why can't we call pm_runtime_put_sync(dev) as that is what is being
> > called in failure cases anyway further down in this API?
> 
> 
> Simply because this is a failure case where the get_sync did not
> complete. So this change is correct, however, now we have
> pm_runtime_resume_and_get(), it is better/simpler just to replace the
> pm_runtime_get_sync with pm_runtime_resume_and_get.

I think this patch slipped through the cracks, should I update the patch
myself with the suggestion above and merge it or you guys prefer sending
it ?

Thanks,
Lorenzo



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux