diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2009-05-02 13:52:13 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-05-18 16:34:47 -0700 |
commit | b16c010a91f513a3df4c166d4752446ec75e3f5a (patch) | |
tree | 18b9ae5c199ed6731b0ab4f2a579e798abf0f4b6 | |
parent | 80500d2f76c487cab0a82747e13bd1944f5f52e1 (diff) |
ne2k-pci: Do not register device until initialized.
commit 379b026ecc20c4657d37e40ead789f7f28f1a1c1 upstream.
Doing it in reverse order causes uevent to be sent before
we have a MAC address, which confuses udev.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/net/ne2k-pci.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/ne2k-pci.c b/drivers/net/ne2k-pci.c index f090d3b9ec94..453d6bb6444b 100644 --- a/drivers/net/ne2k-pci.c +++ b/drivers/net/ne2k-pci.c @@ -373,18 +373,17 @@ static int __devinit ne2k_pci_init_one (struct pci_dev *pdev, dev->ethtool_ops = &ne2k_pci_ethtool_ops; NS8390_init(dev, 0); + memcpy(dev->dev_addr, SA_prom, 6); + memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); + i = register_netdev(dev); if (i) goto err_out_free_netdev; - for(i = 0; i < 6; i++) - dev->dev_addr[i] = SA_prom[i]; printk("%s: %s found at %#lx, IRQ %d, %pM.\n", dev->name, pci_clone_list[chip_idx].name, ioaddr, dev->irq, dev->dev_addr); - memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); - return 0; err_out_free_netdev: |