By default assume a 8139 chip if the EEPROM contents prove inconclusive. The

same LOM hardware with goofed-up EEPROM programming also needed reading the
Ethernet address from the chips registers as the EEPROM did not have a
sensible address programmed.

Patch developed by: pyun@
Funky hardware on loan:  www.id-it.nl

MFC after:	2 weeks
This commit is contained in:
wilko 2008-12-15 21:54:23 +00:00
parent 03f6bb9dc9
commit bf16388867

View File

@ -901,9 +901,15 @@ rl_attach(device_t dev)
}
if (sc->rl_type == 0) {
device_printf(dev, "unknown device ID: %x\n", rl_did);
error = ENXIO;
goto fail;
device_printf(dev, "unknown device ID: %x assuming 8139\n",
rl_did);
sc->rl_type = RL_8139;
/*
* Read RL_IDR register to get ethernet address as accessing
* EEPROM may not extract correct address.
*/
for (i = 0; i < ETHER_ADDR_LEN; i++)
eaddr[i] = CSR_READ_1(sc, RL_IDR0 + i);
}
if ((error = rl_dma_alloc(sc)) != 0)