summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2007-04-25 05:40:58 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2007-04-25 05:40:58 +0000
commit5454dc1c9068ae69343a660f1cc27ca15bd9fc17 (patch)
tree18475d93c7c16321b234651389c86bd3c14ef198 /sys
parentc5adc3278f72c1a634b6ea7cd9847c2bd91f9e0f (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.c6
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;