Commit 42947c2b authored by Dan Carpenter's avatar Dan Carpenter Committed by Kleber Sacilotto de Souza

mdio-sun4i: oops in error handling in probe

BugLink: https://bugs.launchpad.net/bugs/1878232

commit 227f33be upstream.

We could end up dereferencing an error pointer when we call
regulator_disable().

Fixes: 4bdcb1dd ('net: Add MDIO bus driver for the Allwinner EMAC')
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarChen-Yu Tsai <wens@csie.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarIan May <ian.may@canonical.com>
Signed-off-by: default avatarKleber Sacilotto de Souza <kleber.souza@canonical.com>
parent c7d60058
...@@ -134,6 +134,7 @@ static int sun4i_mdio_probe(struct platform_device *pdev) ...@@ -134,6 +134,7 @@ static int sun4i_mdio_probe(struct platform_device *pdev)
} }
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)
...@@ -149,7 +150,8 @@ static int sun4i_mdio_probe(struct platform_device *pdev) ...@@ -149,7 +150,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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment