Commit 0e776721 authored by Dinghao Liu's avatar Dinghao Liu Committed by Greg Kroah-Hartman

net: smsc911x: Fix runtime PM imbalance on error

[ Upstream commit 539d39ad ]

Remove runtime PM usage counter decrement when the
increment function has not been called to keep the
counter balanced.
Signed-off-by: default avatarDinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 7b880cc0
...@@ -2506,20 +2506,20 @@ static int smsc911x_drv_probe(struct platform_device *pdev) ...@@ -2506,20 +2506,20 @@ static int smsc911x_drv_probe(struct platform_device *pdev)
retval = smsc911x_init(dev); retval = smsc911x_init(dev);
if (retval < 0) if (retval < 0)
goto out_disable_resources; goto out_init_fail;
netif_carrier_off(dev); netif_carrier_off(dev);
retval = smsc911x_mii_init(pdev, dev); retval = smsc911x_mii_init(pdev, dev);
if (retval) { if (retval) {
SMSC_WARN(pdata, probe, "Error %i initialising mii", retval); SMSC_WARN(pdata, probe, "Error %i initialising mii", retval);
goto out_disable_resources; goto out_init_fail;
} }
retval = register_netdev(dev); retval = register_netdev(dev);
if (retval) { if (retval) {
SMSC_WARN(pdata, probe, "Error %i registering device", retval); SMSC_WARN(pdata, probe, "Error %i registering device", retval);
goto out_disable_resources; goto out_init_fail;
} else { } else {
SMSC_TRACE(pdata, probe, SMSC_TRACE(pdata, probe,
"Network interface: \"%s\"", dev->name); "Network interface: \"%s\"", dev->name);
...@@ -2560,9 +2560,10 @@ static int smsc911x_drv_probe(struct platform_device *pdev) ...@@ -2560,9 +2560,10 @@ static int smsc911x_drv_probe(struct platform_device *pdev)
return 0; return 0;
out_disable_resources: out_init_fail:
pm_runtime_put(&pdev->dev); pm_runtime_put(&pdev->dev);
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
out_disable_resources:
(void)smsc911x_disable_resources(pdev); (void)smsc911x_disable_resources(pdev);
out_enable_resources_fail: out_enable_resources_fail:
smsc911x_free_resources(pdev); smsc911x_free_resources(pdev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment