Skip to content

Commit d11a274

Browse files
Wang Haigregkh
authored andcommitted
net: smc91x: Fix possible memory leak in smc_drv_probe()
[ Upstream commit bca9749 ] If try_toggle_control_gpio() failed in smc_drv_probe(), free_netdev(ndev) should be called to free the ndev created earlier. Otherwise, a memleak will occur. Fixes: 7d2911c ("net: smc91x: Fix gpios for device tree based booting") Reported-by: Hulk Robot <[email protected]> Signed-off-by: Wang Hai <[email protected]> Signed-off-by: David S. Miller <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
1 parent a2cdb4e commit d11a274

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/net/ethernet/smsc/smc91x.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2274,7 +2274,7 @@ static int smc_drv_probe(struct platform_device *pdev)
22742274
ret = try_toggle_control_gpio(&pdev->dev, &lp->power_gpio,
22752275
"power", 0, 0, 100);
22762276
if (ret)
2277-
return ret;
2277+
goto out_free_netdev;
22782278

22792279
/*
22802280
* Optional reset GPIO configured? Minimum 100 ns reset needed
@@ -2283,7 +2283,7 @@ static int smc_drv_probe(struct platform_device *pdev)
22832283
ret = try_toggle_control_gpio(&pdev->dev, &lp->reset_gpio,
22842284
"reset", 0, 0, 100);
22852285
if (ret)
2286-
return ret;
2286+
goto out_free_netdev;
22872287

22882288
/*
22892289
* Need to wait for optional EEPROM to load, max 750 us according

0 commit comments

Comments
 (0)