Tweak the DC_REDUCED_MII_POLL code in dc_mii_tick() for the DC_IS_INTEL()

case. The idea is to reduce how often we call mii_tick(), however currently
it may not be called often enough, which prevents autonegotiation from
being driven correctly.

This should improve the chances of successfully autonegotiating media
settings on non-MII 21143 NICs. (Still waiting for confirmation from
some testers, but the code is clearly wrong in any case.)
This commit is contained in:
Bill Paul 1999-12-07 19:18:41 +00:00
parent d0eb8c13d5
commit d675147e39
2 changed files with 4 additions and 4 deletions

View File

@ -2123,10 +2123,10 @@ static void dc_tick(xsc)
if (sc->dc_flags & DC_REDUCED_MII_POLL) {
r = CSR_READ_4(sc, DC_ISR);
if (DC_IS_INTEL(sc)) {
if (r & DC_ISR_LINKFAIL) {
if (r & DC_ISR_LINKFAIL)
sc->dc_link = 0;
if (sc->dc_link == 0)
mii_tick(mii);
}
} else {
if ((r & DC_ISR_RX_STATE) == DC_RXSTATE_WAIT &&
sc->dc_cdata.dc_tx_prod == 0)

View File

@ -2123,10 +2123,10 @@ static void dc_tick(xsc)
if (sc->dc_flags & DC_REDUCED_MII_POLL) {
r = CSR_READ_4(sc, DC_ISR);
if (DC_IS_INTEL(sc)) {
if (r & DC_ISR_LINKFAIL) {
if (r & DC_ISR_LINKFAIL)
sc->dc_link = 0;
if (sc->dc_link == 0)
mii_tick(mii);
}
} else {
if ((r & DC_ISR_RX_STATE) == DC_RXSTATE_WAIT &&
sc->dc_cdata.dc_tx_prod == 0)