qlge: Only free resources if they were allocated
[safe/jmp/linux-2.6] / drivers / net / ne2k-pci.c
index eb66f65..3fcebb7 100644 (file)
@@ -374,18 +374,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, dev->addr_len);
+       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: