Fix the support for the AN985/983 chips, which do not set the
RXSTATE to STOPPED, but to WAIT. This should fix hangs which could only be solved by replugging the cable. Submitted by: jhb Reviewed by: phk MFC after: 2 weeks
This commit is contained in:
parent
4590476d95
commit
2dbd48c162
@ -1366,7 +1366,8 @@ dc_setcfg(sc, media)
|
||||
for (i = 0; i < DC_TIMEOUT; i++) {
|
||||
isr = CSR_READ_4(sc, DC_ISR);
|
||||
if (isr & DC_ISR_TX_IDLE &&
|
||||
(isr & DC_ISR_RX_STATE) == DC_RXSTATE_STOPPED)
|
||||
((isr & DC_ISR_RX_STATE) == DC_RXSTATE_STOPPED ||
|
||||
(isr & DC_ISR_RX_STATE) == DC_RXSTATE_WAIT))
|
||||
break;
|
||||
DELAY(10);
|
||||
}
|
||||
|
@ -1366,7 +1366,8 @@ dc_setcfg(sc, media)
|
||||
for (i = 0; i < DC_TIMEOUT; i++) {
|
||||
isr = CSR_READ_4(sc, DC_ISR);
|
||||
if (isr & DC_ISR_TX_IDLE &&
|
||||
(isr & DC_ISR_RX_STATE) == DC_RXSTATE_STOPPED)
|
||||
((isr & DC_ISR_RX_STATE) == DC_RXSTATE_STOPPED ||
|
||||
(isr & DC_ISR_RX_STATE) == DC_RXSTATE_WAIT))
|
||||
break;
|
||||
DELAY(10);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user