OSDN Git Service

usb: cdns3: Fix runtime PM imbalance on error
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Thu, 21 May 2020 07:39:19 +0000 (15:39 +0800)
committerFelipe Balbi <balbi@kernel.org>
Mon, 25 May 2020 08:09:43 +0000 (11:09 +0300)
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.

Reviewed-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/cdns3/cdns3-ti.c

index 5685ba1..e701ab5 100644 (file)
@@ -138,7 +138,7 @@ static int cdns_ti_probe(struct platform_device *pdev)
        error = pm_runtime_get_sync(dev);
        if (error < 0) {
                dev_err(dev, "pm_runtime_get_sync failed: %d\n", error);
-               goto err_get;
+               goto err;
        }
 
        /* assert RESET */
@@ -185,7 +185,6 @@ static int cdns_ti_probe(struct platform_device *pdev)
 
 err:
        pm_runtime_put_sync(data->dev);
-err_get:
        pm_runtime_disable(data->dev);
 
        return error;