summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/pci/if_vr.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/dev/pci/if_vr.c b/sys/dev/pci/if_vr.c
index 34c6593281c..8b5e62edbc0 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.24 2002/03/14 01:26:59 millert Exp $ */
+/* $OpenBSD: if_vr.c,v 1.25 2002/04/03 08:44:08 deraadt 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_POLL(&ifp->if_snd, m_head);
+ IFQ_DEQUEUE(&ifp->if_snd, m_head);
if (m_head == NULL)
break;
@@ -1300,6 +1300,7 @@ 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;
@@ -1308,9 +1309,6 @@ 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