mdio-sun4i: oops in error handling in probe
We could end up dereferencing an error pointer when we call
regulator_disable().
Fixes: 4bdcb1dd9f
('net: Add MDIO bus driver for the Allwinner EMAC')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
abc34d753e
commit
227f33beab
@ -122,6 +122,7 @@ static int sun4i_mdio_probe(struct platform_device *pdev)
|
|||||||
return -EPROBE_DEFER;
|
return -EPROBE_DEFER;
|
||||||
|
|
||||||
dev_info(&pdev->dev, "no regulator found\n");
|
dev_info(&pdev->dev, "no regulator found\n");
|
||||||
|
data->regulator = NULL;
|
||||||
} else {
|
} else {
|
||||||
ret = regulator_enable(data->regulator);
|
ret = regulator_enable(data->regulator);
|
||||||
if (ret)
|
if (ret)
|
||||||
@ -137,7 +138,8 @@ static int sun4i_mdio_probe(struct platform_device *pdev)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_out_disable_regulator:
|
err_out_disable_regulator:
|
||||||
regulator_disable(data->regulator);
|
if (data->regulator)
|
||||||
|
regulator_disable(data->regulator);
|
||||||
err_out_free_mdiobus:
|
err_out_free_mdiobus:
|
||||||
mdiobus_free(bus);
|
mdiobus_free(bus);
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user