diff options
author | Jesse Brandeburg <jesse.brandeburg@intel.com> | 2007-04-26 18:43:11 +0200 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-04-28 17:01:07 +0200 |
commit | 948cd43fed7c7d919fa30e0609b2b5852c4503ef (patch) | |
tree | 8ec2af01e7df267e8da3768e4f633c7136312cea /drivers/net/e100.c | |
parent | ehea: fix for dlpar support (diff) | |
download | linux-948cd43fed7c7d919fa30e0609b2b5852c4503ef.tar.xz linux-948cd43fed7c7d919fa30e0609b2b5852c4503ef.zip |
e100: allow bad MAC address when running with invalid eeprom csum
Seved Torstendahl <seved.torstendahl@netinsight.net> suggested to
let the module parameter for invalid eeprom checksum control the valid
mac address test.
If this bypass happens we should print a different message,
or at least one that is correct, maybe something like below
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/e100.c')
-rw-r--r-- | drivers/net/e100.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/net/e100.c b/drivers/net/e100.c index 71c6d334bd7f..135617c5941f 100644 --- a/drivers/net/e100.c +++ b/drivers/net/e100.c @@ -2597,11 +2597,16 @@ static int __devinit e100_probe(struct pci_dev *pdev, memcpy(netdev->dev_addr, nic->eeprom, ETH_ALEN); memcpy(netdev->perm_addr, nic->eeprom, ETH_ALEN); - if(!is_valid_ether_addr(netdev->perm_addr)) { - DPRINTK(PROBE, ERR, "Invalid MAC address from " - "EEPROM, aborting.\n"); - err = -EAGAIN; - goto err_out_free; + if (!is_valid_ether_addr(netdev->perm_addr)) { + if (!eeprom_bad_csum_allow) { + DPRINTK(PROBE, ERR, "Invalid MAC address from " + "EEPROM, aborting.\n"); + err = -EAGAIN; + goto err_out_free; + } else { + DPRINTK(PROBE, ERR, "Invalid MAC address from EEPROM, " + "you MUST configure one.\n"); + } } /* Wol magic packet can be enabled from eeprom */ |