diff options
author | Eilon Greenstein <eilong@broadcom.com> | 2009-01-14 06:43:52 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-19 16:20:08 -0800 |
commit | 693fc0d14334859430733ab902adac182fdd8153 (patch) | |
tree | 8e7603e50079fca08d3e27c4dfdbe2595dedafea | |
parent | 70b9986ca4baaf6deb6f0e01d50f72457579adea (diff) | |
download | op-kernel-dev-693fc0d14334859430733ab902adac182fdd8153.zip op-kernel-dev-693fc0d14334859430733ab902adac182fdd8153.tar.gz |
bnx2x: Handling probe failures
Failures in the probe not handled correctly - separate the flow to handle
different failures
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/bnx2x_main.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index ce98ecf..9110675 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c @@ -10269,17 +10269,15 @@ static int __devinit bnx2x_init_one(struct pci_dev *pdev, return rc; } - rc = register_netdev(dev); - if (rc) { - dev_err(&pdev->dev, "Cannot register net device\n"); - goto init_one_exit; - } - pci_set_drvdata(pdev, dev); rc = bnx2x_init_bp(bp); + if (rc) + goto init_one_exit; + + rc = register_netdev(dev); if (rc) { - unregister_netdev(dev); + dev_err(&pdev->dev, "Cannot register net device\n"); goto init_one_exit; } |