Commit 539d39ad authored by Dinghao Liu's avatar Dinghao Liu Committed by David S. Miller
Browse files

net: smsc911x: Fix runtime PM imbalance on error



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>
parent e3181e9a
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -2493,20 +2493,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);
@@ -2547,9 +2547,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);