pm_runtime_get_sync() increments the runtime PM usage counter even
when 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 <[email protected]>
---
drivers/dma/ti/edma.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/dma/ti/edma.c b/drivers/dma/ti/edma.c
index c4a5c170c1f9..609ce2607eb7 100644
--- a/drivers/dma/ti/edma.c
+++ b/drivers/dma/ti/edma.c
@@ -2402,8 +2402,7 @@ static int edma_probe(struct platform_device *pdev)
ret = pm_runtime_get_sync(dev);
if (ret < 0) {
dev_err(dev, "pm_runtime_get_sync() failed\n");
- pm_runtime_disable(dev);
- return ret;
+ goto err_disable_pm;
}
/* Get eDMA3 configuration from IP */
--
2.17.1
On 21/05/2020 11.46, Dinghao Liu wrote:
> pm_runtime_get_sync() increments the runtime PM usage counter even
> when it returns an error code. Thus a pairing decrement is needed on
> the error handling path to keep the counter balanced.
Thank you for the patch!
Acked-by: Peter Ujfalusi <[email protected]>
> Signed-off-by: Dinghao Liu <[email protected]>
> ---
> drivers/dma/ti/edma.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/dma/ti/edma.c b/drivers/dma/ti/edma.c
> index c4a5c170c1f9..609ce2607eb7 100644
> --- a/drivers/dma/ti/edma.c
> +++ b/drivers/dma/ti/edma.c
> @@ -2402,8 +2402,7 @@ static int edma_probe(struct platform_device *pdev)
> ret = pm_runtime_get_sync(dev);
> if (ret < 0) {
> dev_err(dev, "pm_runtime_get_sync() failed\n");
> - pm_runtime_disable(dev);
> - return ret;
> + goto err_disable_pm;
> }
>
> /* Get eDMA3 configuration from IP */
>
- Péter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki