diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c index e16e2f93524..5c330ff7019 100644 --- a/sys/dev/dc/if_dc.c +++ b/sys/dev/dc/if_dc.c @@ -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); } diff --git a/sys/pci/if_dc.c b/sys/pci/if_dc.c index e16e2f93524..5c330ff7019 100644 --- a/sys/pci/if_dc.c +++ b/sys/pci/if_dc.c @@ -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); }