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;
|
||||
|
||||
dev_info(&pdev->dev, "no regulator found\n");
|
||||
data->regulator = NULL;
|
||||
} else {
|
||||
ret = regulator_enable(data->regulator);
|
||||
if (ret)
|
||||
|
@ -137,7 +138,8 @@ static int sun4i_mdio_probe(struct platform_device *pdev)
|
|||
return 0;
|
||||
|
||||
err_out_disable_regulator:
|
||||
regulator_disable(data->regulator);
|
||||
if (data->regulator)
|
||||
regulator_disable(data->regulator);
|
||||
err_out_free_mdiobus:
|
||||
mdiobus_free(bus);
|
||||
return ret;
|
||||
|
|
Loading…
Reference in New Issue