summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_vr.c
diff options
context:
space:
mode:
authorKenjiro Cho <kjc@cvs.openbsd.org>2002-03-12 09:51:21 +0000
committerKenjiro Cho <kjc@cvs.openbsd.org>2002-03-12 09:51:21 +0000
commitc0673e7470e78851e90fed12a36fc994cd4a9596 (patch)
tree493f6323005acbca62cfdc1588c1bcca53310914 /sys/dev/pci/if_vr.c
parenta58c9d8493088f72eea1a7fe29bd0458cad36e81 (diff)
sync with KAME
ALTQify more drivers. ok millert@
Diffstat (limited to 'sys/dev/pci/if_vr.c')
-rw-r--r--sys/dev/pci/if_vr.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/pci/if_vr.c b/sys/dev/pci/if_vr.c
index 8ddfcdd8c9c..e6781c06346 100644
--- a/sys/dev/pci/if_vr.c
+++ b/sys/dev/pci/if_vr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_vr.c,v 1.22 2002/02/15 20:45:31 nordin Exp $ */
+/* $OpenBSD: if_vr.c,v 1.23 2002/03/12 09:51:20 kjc Exp $ */
/*
* Copyright (c) 1997, 1998
@@ -1290,7 +1290,7 @@ vr_start(ifp)
start_tx = sc->vr_cdata.vr_tx_free;
while(sc->vr_cdata.vr_tx_free->vr_mbuf == NULL) {
- IFQ_DEQUEUE(&ifp->if_snd, m_head);
+ IFQ_POLL(&ifp->if_snd, m_head);
if (m_head == NULL)
break;
@@ -1300,7 +1300,6 @@ vr_start(ifp)
/* Pack the data into the descriptor. */
if (vr_encap(sc, cur_tx, m_head)) {
- IF_PREPEND(&ifp->if_snd, m_head);
ifp->if_flags |= IFF_OACTIVE;
cur_tx = NULL;
break;
@@ -1309,6 +1308,9 @@ vr_start(ifp)
if (cur_tx != start_tx)
VR_TXOWN(cur_tx) = VR_TXSTAT_OWN;
+ /* now we are committed to transmit the packet */
+ IFQ_DEQUEUE(&ifp->if_snd, m_head);
+
#if NBPFILTER > 0
/*
* If there's a BPF listener, bounce a copy of this frame