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:
parent
d0eb8c13d5
commit
d675147e39
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user