sky2: Make sure both ports initialize correctly

Sorry Mike, I sent you off the wrong way. The following is simpler and the
second port is diffrent enough in setup (because of NAPI), that the
following is simpler.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Stephen Hemminger 2009-09-14 06:22:29 +00:00 committed by David S. Miller
parent 07e3163774
commit ca519274d5

View File

@ -4550,16 +4550,18 @@ static int __devinit sky2_probe(struct pci_dev *pdev,
if (hw->ports > 1) {
struct net_device *dev1;
err = -ENOMEM;
dev1 = sky2_init_netdev(hw, 1, using_dac, wol_default);
if (!dev1)
dev_warn(&pdev->dev, "allocation for second device failed\n");
else if ((err = register_netdev(dev1))) {
if (dev1 && (err = register_netdev(dev1)) == 0)
sky2_show_addr(dev1);
else {
dev_warn(&pdev->dev,
"register of second port failed (%d)\n", err);
hw->dev[1] = NULL;
free_netdev(dev1);
} else
sky2_show_addr(dev1);
hw->ports = 1;
if (dev1)
free_netdev(dev1);
}
}
setup_timer(&hw->watchdog_timer, sky2_watchdog, (unsigned long) hw);