From f591c81c7fcfa8cc2587a17923b8e3ddd91f77de Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Mon, 28 Aug 2006 22:12:54 -0700 Subject: [PATCH] --- yaml --- r: 33685 b: refs/heads/master c: 8fb6f732c389847dece403b7470d6d3d2778804a h: refs/heads/master i: 33683: d48094582f8e9dd0fee5f0a6a497c3a6ecbbb241 v: v3 --- [refs] | 2 +- trunk/drivers/net/e100.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index ba04b0637ea8..0e6f2691f2ad 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b9ac86727fc02cc7117ef3fe518a4d51cd573c82 +refs/heads/master: 8fb6f732c389847dece403b7470d6d3d2778804a diff --git a/trunk/drivers/net/e100.c b/trunk/drivers/net/e100.c index 91ef5f2fd768..ce850f1078b5 100644 --- a/trunk/drivers/net/e100.c +++ b/trunk/drivers/net/e100.c @@ -173,8 +173,11 @@ MODULE_LICENSE("GPL"); MODULE_VERSION(DRV_VERSION); static int debug = 3; +static int eeprom_bad_csum_allow = 0; module_param(debug, int, 0); +module_param(eeprom_bad_csum_allow, int, 0); MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)"); +MODULE_PARM_DESC(eeprom_bad_csum_allow, "Allow bad eeprom checksums"); #define DPRINTK(nlevel, klevel, fmt, args...) \ (void)((NETIF_MSG_##nlevel & nic->msg_enable) && \ printk(KERN_##klevel PFX "%s: %s: " fmt, nic->netdev->name, \ @@ -756,7 +759,8 @@ static int e100_eeprom_load(struct nic *nic) checksum = le16_to_cpu(0xBABA - checksum); if(checksum != nic->eeprom[nic->eeprom_wc - 1]) { DPRINTK(PROBE, ERR, "EEPROM corrupted\n"); - return -EAGAIN; + if (!eeprom_bad_csum_allow) + return -EAGAIN; } return 0;