diff options
-rw-r--r-- | drivers/net/skge.c | 9 |
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); |