Skip to content

Commit

Permalink
skge: handle zero address at open
Browse files Browse the repository at this point in the history
Some motherboards are broken and have no address set. Failing at probe time
prevents the device from ever being used (like to download a fixed BIOS). Instead
warn on probe and check again when device is brought up. That way the address
can be set.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Stephen Hemminger authored and Jeff Garzik committed Feb 7, 2007
1 parent a7bed27 commit fae8759
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions drivers/net/skge.c
Original file line number Diff line number Diff line change
Expand Up @@ -2373,6 +2373,9 @@ static int skge_up(struct net_device *dev)
size_t rx_size, tx_size;
int err;

if (!is_valid_ether_addr(dev->dev_addr))
return -EINVAL;

if (netif_msg_ifup(skge))
printk(KERN_INFO PFX "%s: enabling interface\n", dev->name);

Expand Down Expand Up @@ -3567,11 +3570,10 @@ static int __devinit skge_probe(struct pci_dev *pdev,
if (!dev)
goto err_out_led_off;

/* Some motherboards are broken and has zero in ROM. */
if (!is_valid_ether_addr(dev->dev_addr)) {
printk(KERN_ERR PFX "%s: bad (zero?) ethernet address in rom\n",
printk(KERN_WARNING PFX "%s: bad (zero?) ethernet address in rom\n",
pci_name(pdev));
err = -EIO;
goto err_out_free_netdev;
}

err = register_netdev(dev);
Expand Down

0 comments on commit fae8759

Please sign in to comment.