aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/skge.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 55bad4081966..2bb21ffbde3a 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -3982,14 +3982,17 @@ static int __devinit skge_probe(struct pci_dev *pdev,
3982 } 3982 }
3983 skge_show_addr(dev); 3983 skge_show_addr(dev);
3984 3984
3985 if (hw->ports > 1 && (dev1 = skge_devinit(hw, 1, using_dac))) { 3985 if (hw->ports > 1) {
3986 if (register_netdev(dev1) == 0) 3986 dev1 = skge_devinit(hw, 1, using_dac);
3987 if (dev1 && register_netdev(dev1) == 0)
3987 skge_show_addr(dev1); 3988 skge_show_addr(dev1);
3988 else { 3989 else {
3989 /* Failure to register second port need not be fatal */ 3990 /* Failure to register second port need not be fatal */
3990 dev_warn(&pdev->dev, "register of second port failed\n"); 3991 dev_warn(&pdev->dev, "register of second port failed\n");
3991 hw->dev[1] = NULL; 3992 hw->dev[1] = NULL;
3992 free_netdev(dev1); 3993 hw->ports = 1;
3994 if (dev1)
3995 free_netdev(dev1);
3993 } 3996 }
3994 } 3997 }
3995 pci_set_drvdata(pdev, hw); 3998 pci_set_drvdata(pdev, hw);