Message ID | 1273505954-32588-9-git-send-email-vapier@gentoo.org |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Mike Frysinger <vapier@gentoo.org> Date: Mon, 10 May 2010 11:39:14 -0400 > From: Sonic Zhang <sonic.zhang@analog.com> > > 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> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index 0b62dbf..0f0aa57 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c @@ -1469,6 +1469,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); @@ -1514,6 +1519,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);