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: Dinghao Liu <dinghao.liu@zju.edu.cn> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e3181e9a72
commit
539d39ad0c
@ -2493,20 +2493,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);
|
||||||
@ -2547,9 +2547,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);
|
||||||
|
Loading…
Reference in New Issue
Block a user