diff options
Diffstat (limited to 'drivers/net/e100.c')
| -rw-r--r-- | drivers/net/e100.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/e100.c b/drivers/net/e100.c index 91ef5f2fd768..ce850f1078b5 100644 --- a/drivers/net/e100.c +++ b/drivers/net/e100.c | |||
| @@ -173,8 +173,11 @@ MODULE_LICENSE("GPL"); | |||
| 173 | MODULE_VERSION(DRV_VERSION); | 173 | MODULE_VERSION(DRV_VERSION); |
| 174 | 174 | ||
| 175 | static int debug = 3; | 175 | static int debug = 3; |
| 176 | static int eeprom_bad_csum_allow = 0; | ||
| 176 | module_param(debug, int, 0); | 177 | module_param(debug, int, 0); |
| 178 | module_param(eeprom_bad_csum_allow, int, 0); | ||
| 177 | MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)"); | 179 | MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)"); |
| 180 | MODULE_PARM_DESC(eeprom_bad_csum_allow, "Allow bad eeprom checksums"); | ||
| 178 | #define DPRINTK(nlevel, klevel, fmt, args...) \ | 181 | #define DPRINTK(nlevel, klevel, fmt, args...) \ |
| 179 | (void)((NETIF_MSG_##nlevel & nic->msg_enable) && \ | 182 | (void)((NETIF_MSG_##nlevel & nic->msg_enable) && \ |
| 180 | printk(KERN_##klevel PFX "%s: %s: " fmt, nic->netdev->name, \ | 183 | printk(KERN_##klevel PFX "%s: %s: " fmt, nic->netdev->name, \ |
| @@ -756,7 +759,8 @@ static int e100_eeprom_load(struct nic *nic) | |||
| 756 | checksum = le16_to_cpu(0xBABA - checksum); | 759 | checksum = le16_to_cpu(0xBABA - checksum); |
| 757 | if(checksum != nic->eeprom[nic->eeprom_wc - 1]) { | 760 | if(checksum != nic->eeprom[nic->eeprom_wc - 1]) { |
| 758 | DPRINTK(PROBE, ERR, "EEPROM corrupted\n"); | 761 | DPRINTK(PROBE, ERR, "EEPROM corrupted\n"); |
| 759 | return -EAGAIN; | 762 | if (!eeprom_bad_csum_allow) |
| 763 | return -EAGAIN; | ||
| 760 | } | 764 | } |
| 761 | 765 | ||
| 762 | return 0; | 766 | return 0; |
