*** if_sf.c.orig Wed Aug 15 10:06:28 2001 --- if_sf.c Wed Aug 15 10:07:40 2001 *************** *** 1103,1109 **** if (status & SF_ISR_RXDQ1_DMADONE) sf_rxeof(sc); ! if (status & SF_ISR_TX_TXDONE) sf_txeof(sc); if (status & SF_ISR_ABNORMALINTR) { --- 1103,1112 ---- if (status & SF_ISR_RXDQ1_DMADONE) sf_rxeof(sc); ! if (status & SF_ISR_TX_TXDONE || ! status & SF_ISR_TX_DMADONE || ! status & SF_ISR_TX_QUEUEDONE || ! status & SF_ISR_TX_LOFIFO) sf_txeof(sc); if (status & SF_ISR_ABNORMALINTR) { *************** *** 1313,1319 **** sc = ifp->if_softc; ! if (!sc->sf_link) return; if (ifp->if_flags & IFF_OACTIVE) --- 1316,1322 ---- sc = ifp->if_softc; ! if (!sc->sf_link && ifp->if_snd.ifq_len < 10) return; if (ifp->if_flags & IFF_OACTIVE)