summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2006-10-03 19:46:09 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2006-10-03 19:46:09 +0000
commitafacd366f1baece539ddabf32bd3cb9f23c582b5 (patch)
tree984a20906bd3b182cf10659d089a76d0576c3baa
parent3393da9b948d694f9f385f8d2f225c77d422df7b (diff)
don't use IF_PREPEND() on altq's.
use IFQ_POLL()/IFQ_DEQUEUE() logic instead as described in altq(4). tested by jolan@ on macppc "diffs look ok" brad@
-rw-r--r--sys/dev/pci/if_vge.c6
-rw-r--r--sys/dev/usb/if_axe.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/sys/dev/pci/if_vge.c b/sys/dev/pci/if_vge.c
index eb5c233d8c2..fac9849db91 100644
--- a/sys/dev/pci/if_vge.c
+++ b/sys/dev/pci/if_vge.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_vge.c,v 1.27 2006/07/28 15:58:38 kettenis Exp $ */
+/* $OpenBSD: if_vge.c,v 1.28 2006/10/03 19:46:08 damien Exp $ */
/* $FreeBSD: if_vge.c,v 1.3 2004/09/11 22:13:25 wpaul Exp $ */
/*
* Copyright (c) 2004
@@ -1417,7 +1417,7 @@ vge_start(struct ifnet *ifp)
pidx = VGE_TX_DESC_CNT - 1;
while (sc->vge_ldata.vge_tx_mbuf[idx] == NULL) {
- IFQ_DEQUEUE(&ifp->if_snd, m_head);
+ IFQ_POLL(&ifp->if_snd, m_head);
if (m_head == NULL)
break;
@@ -1431,10 +1431,10 @@ vge_start(struct ifnet *ifp)
#endif
if (vge_encap(sc, m_head, idx)) {
- IF_PREPEND(&ifp->if_snd, m_head);
ifp->if_flags |= IFF_OACTIVE;
break;
}
+ IFQ_DEQUEUE(&ifp->if_snd, m_head);
sc->vge_ldata.vge_tx_list[pidx].vge_frag[0].vge_buflen |=
htole16(VGE_TXDESC_Q);
diff --git a/sys/dev/usb/if_axe.c b/sys/dev/usb/if_axe.c
index ea6b16b9746..d91151e9d71 100644
--- a/sys/dev/usb/if_axe.c
+++ b/sys/dev/usb/if_axe.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_axe.c,v 1.54 2006/07/09 22:46:38 dlg Exp $ */
+/* $OpenBSD: if_axe.c,v 1.55 2006/10/03 19:46:08 damien Exp $ */
/*
* Copyright (c) 1997, 1998, 1999, 2000-2003
@@ -1164,15 +1164,15 @@ axe_start(struct ifnet *ifp)
if (ifp->if_flags & IFF_OACTIVE)
return;
- IF_DEQUEUE(&ifp->if_snd, m_head);
+ IFQ_POLL(&ifp->if_snd, m_head);
if (m_head == NULL)
return;
if (axe_encap(sc, m_head, 0)) {
- IF_PREPEND(&ifp->if_snd, m_head);
ifp->if_flags |= IFF_OACTIVE;
return;
}
+ IFQ_DEQUEUE(&ifp->if_snd, m_head);
/*
* If there's a BPF listener, bounce a copy of this frame