diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2007-04-25 05:40:58 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2007-04-25 05:40:58 +0000 |
commit | 5454dc1c9068ae69343a660f1cc27ca15bd9fc17 (patch) | |
tree | 18475d93c7c16321b234651389c86bd3c14ef198 /sys | |
parent | c5adc3278f72c1a634b6ea7cd9847c2bd91f9e0f (diff) |
fix the conditions that the tx free path keeps looping on so that it will
process all available descriptors, instead of leaving one behind.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/pci/if_tht.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/pci/if_tht.c b/sys/dev/pci/if_tht.c index 666964cb963..4b823a82173 100644 --- a/sys/dev/pci/if_tht.c +++ b/sys/dev/pci/if_tht.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_tht.c,v 1.64 2007/04/25 05:38:12 dlg Exp $ */ +/* $OpenBSD: if_tht.c,v 1.65 2007/04/25 05:40:57 dlg Exp $ */ /* * Copyright (c) 2007 David Gwynne <dlg@openbsd.org> @@ -1107,7 +1107,7 @@ tht_txf(struct tht_softc *sc) struct tht_tx_free txf; struct tht_pkt *pkt; - if (tht_fifo_readable(sc, &sc->sc_txf) <= sizeof(txf)) + if (tht_fifo_readable(sc, &sc->sc_txf) < sizeof(txf)) return; tht_fifo_pre(sc, &sc->sc_txf); @@ -1126,7 +1126,7 @@ tht_txf(struct tht_softc *sc) tht_pkt_put(&sc->sc_rx_list, pkt); - } while (sc->sc_txf.tf_ready > sizeof(txf)); + } while (sc->sc_txf.tf_ready >= sizeof(txf)); ifp->if_flags &= ~IFF_OACTIVE; |