--- src/sys/dev/netif/bge/if_bge.c 2007/04/14 04:35:10 1.66 +++ src/sys/dev/netif/bge/if_bge.c 2007/04/14 05:14:40 1.67 @@ -1969,6 +1969,10 @@ bge_rxeof(struct bge_softc *sc) struct ifnet *ifp; int stdcnt = 0, jumbocnt = 0; + if (sc->bge_rx_saved_considx == + sc->bge_rdata->bge_status_block.bge_idx[0].bge_rx_prod_idx) + return; + ifp = &sc->arpcom.ac_if; while(sc->bge_rx_saved_considx != @@ -2077,6 +2081,10 @@ bge_txeof(struct bge_softc *sc) struct bge_tx_bd *cur_tx = NULL; struct ifnet *ifp; + if (sc->bge_tx_saved_considx == + sc->bge_rdata->bge_status_block.bge_idx[0].bge_tx_cons_idx) + return; + ifp = &sc->arpcom.ac_if; /*