On 08/04/2021 08:26, Dinghao Liu wrote:
> pm_runtime_get_sync() will increase the runtime PM counter
> even it returns an error. Thus a pairing decrement is needed
> to prevent refcount leak. Fix this by replacing this API with
> pm_runtime_resume_and_get(), which will not change the runtime
> PM counter on error.
> 
> Signed-off-by: Dinghao Liu <dinghao....@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 6fa216e52d14..0e94190ca4e8 100644
> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> @@ -1645,7 +1645,7 @@ static void pex_ep_event_pex_rst_deassert(struct 
> tegra_pcie_dw *pcie)
>       if (pcie->ep_state == EP_STATE_ENABLED)
>               return;
>  
> -     ret = pm_runtime_get_sync(dev);
> +     ret = pm_runtime_resume_and_get(dev);
>       if (ret < 0) {
>               dev_err(dev, "Failed to get runtime sync for PCIe dev: %d\n",
>                       ret);
> 

There are two places in the driver where pm_runtime_get_sync() is called.

Thanks
Jon

-- 
nvpublic

Reply via email to