Skip to content

Commit

Permalink
net: smsc911x: Fix runtime PM imbalance on error
Browse files Browse the repository at this point in the history
[ Upstream commit 539d39a ]

Remove runtime PM usage counter decrement when the
increment function has not been called to keep the
counter balanced.

Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
Dinghao Liu authored and Greg Kroah-Hartman committed Jun 7, 2020
1 parent 2528015 commit 40caf1b
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/net/ethernet/smsc/smsc911x.c
Original file line number Diff line number Diff line change
Expand Up @@ -2502,20 +2502,20 @@ static int smsc911x_drv_probe(struct platform_device *pdev)

retval = smsc911x_init(dev);
if (retval < 0)
goto out_disable_resources;
goto out_init_fail;

netif_carrier_off(dev);

retval = smsc911x_mii_init(pdev, dev);
if (retval) {
SMSC_WARN(pdata, probe, "Error %i initialising mii", retval);
goto out_disable_resources;
goto out_init_fail;
}

retval = register_netdev(dev);
if (retval) {
SMSC_WARN(pdata, probe, "Error %i registering device", retval);
goto out_disable_resources;
goto out_init_fail;
} else {
SMSC_TRACE(pdata, probe,
"Network interface: \"%s\"", dev->name);
Expand Down Expand Up @@ -2556,9 +2556,10 @@ static int smsc911x_drv_probe(struct platform_device *pdev)

return 0;

out_disable_resources:
out_init_fail:
pm_runtime_put(&pdev->dev);
pm_runtime_disable(&pdev->dev);
out_disable_resources:
(void)smsc911x_disable_resources(pdev);
out_enable_resources_fail:
smsc911x_free_resources(pdev);
Expand Down

0 comments on commit 40caf1b

Please sign in to comment.