mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 15:11:31 +00:00
netdev: bfin_mac: check for mii_bus platform data
If the platform data for the mii_bus is missing, gracefully error out rather than deference NULL pointers. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2bfa0f0c9a
commit
0e995cd3d3
@ -1466,6 +1466,11 @@ static int __devinit bfin_mac_probe(struct platform_device *pdev)
|
||||
}
|
||||
pd = pdev->dev.platform_data;
|
||||
lp->mii_bus = platform_get_drvdata(pd);
|
||||
if (!lp->mii_bus) {
|
||||
dev_err(&pdev->dev, "Cannot get mii_bus!\n");
|
||||
rc = -ENODEV;
|
||||
goto out_err_mii_bus_probe;
|
||||
}
|
||||
lp->mii_bus->priv = ndev;
|
||||
|
||||
rc = mii_probe(ndev);
|
||||
@ -1511,6 +1516,7 @@ out_err_request_irq:
|
||||
out_err_mii_probe:
|
||||
mdiobus_unregister(lp->mii_bus);
|
||||
mdiobus_free(lp->mii_bus);
|
||||
out_err_mii_bus_probe:
|
||||
peripheral_free_list(pin_req);
|
||||
out_err_probe_mac:
|
||||
platform_set_drvdata(pdev, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user