aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-06-06 13:11:14 -0400
committerJeff Garzik <jeff@garzik.org>2006-06-08 15:44:54 -0400
commit631ae320a4123898927ab1eb32ad81274a713488 (patch)
tree81c3e089f06a17efbc9f075bc8a875406492c9e2
parent7c442fa17eabd34301598acbca8ecb99daad6027 (diff)
[PATCH] skge: dont allow bad hardware address from ROM
Sometimes boards don't reset properly, and the address read out of the EEPROM is zero. Stop the insanity before the device gets registered. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/net/skge.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index f377c259a398..5044f45023a4 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -3362,6 +3362,14 @@ static int __devinit skge_probe(struct pci_dev *pdev,
3362 if ((dev = skge_devinit(hw, 0, using_dac)) == NULL) 3362 if ((dev = skge_devinit(hw, 0, using_dac)) == NULL)
3363 goto err_out_led_off; 3363 goto err_out_led_off;
3364 3364
3365 if (!is_valid_ether_addr(dev->dev_addr)) {
3366 printk(KERN_ERR PFX "%s: bad (zero?) ethernet address in rom\n",
3367 pci_name(pdev));
3368 err = -EIO;
3369 goto err_out_free_netdev;
3370 }
3371
3372
3365 err = register_netdev(dev); 3373 err = register_netdev(dev);
3366 if (err) { 3374 if (err) {
3367 printk(KERN_ERR PFX "%s: cannot register net device\n", 3375 printk(KERN_ERR PFX "%s: cannot register net device\n",