diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index d5b86ec74e49..cd481fac28e6 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -1211,10 +1211,10 @@ re_attach(dev) hw_rev++; } - sc->rl_eewidth = 6; + sc->rl_eewidth = RL_9356_ADDR_LEN; re_read_eeprom(sc, (caddr_t)&re_did, 0, 1); if (re_did != 0x8129) - sc->rl_eewidth = 8; + sc->rl_eewidth = RL_9346_ADDR_LEN; /* * Get station address from the EEPROM. diff --git a/sys/pci/if_rlreg.h b/sys/pci/if_rlreg.h index e3b33ec17700..2e59209847bc 100644 --- a/sys/pci/if_rlreg.h +++ b/sys/pci/if_rlreg.h @@ -312,6 +312,8 @@ #define RL_EEMODE_WRITECFG (0x80|0x40) /* 9346 EEPROM commands */ +#define RL_9346_ADDR_LEN 6 /* 93C46 1K: 128x16 */ +#define RL_9356_ADDR_LEN 8 /* 93C56 2K: 256x16 */ #define RL_9346_WRITE 0x5 #define RL_9346_READ 0x6