--- src/sys/dev/netif/dc/if_dc.c 2005/09/06 13:23:36 1.39 +++ src/sys/dev/netif/dc/if_dc.c 2005/09/07 03:04:58 1.40 @@ -1263,8 +1263,9 @@ dc_setcfg(struct dc_softc *sc, int 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) + if ((isr & DC_ISR_TX_IDLE) && + ((isr & DC_ISR_RX_STATE) == DC_RXSTATE_STOPPED || + (isr & DC_ISR_RX_STATE) == DC_RXSTATE_WAIT)) break; DELAY(10); }