|
@@ -3982,14 +3982,17 @@ static int __devinit skge_probe(struct pci_dev *pdev,
|
|
|
}
|
|
|
skge_show_addr(dev);
|
|
|
|
|
|
- if (hw->ports > 1 && (dev1 = skge_devinit(hw, 1, using_dac))) {
|
|
|
- if (register_netdev(dev1) == 0)
|
|
|
+ if (hw->ports > 1) {
|
|
|
+ dev1 = skge_devinit(hw, 1, using_dac);
|
|
|
+ if (dev1 && register_netdev(dev1) == 0)
|
|
|
skge_show_addr(dev1);
|
|
|
else {
|
|
|
/* Failure to register second port need not be fatal */
|
|
|
dev_warn(&pdev->dev, "register of second port failed\n");
|
|
|
hw->dev[1] = NULL;
|
|
|
- free_netdev(dev1);
|
|
|
+ hw->ports = 1;
|
|
|
+ if (dev1)
|
|
|
+ free_netdev(dev1);
|
|
|
}
|
|
|
}
|
|
|
pci_set_drvdata(pdev, hw);
|