summaryrefslogtreecommitdiffstats
path: root/sys/pci/if_rl.c
diff options
context:
space:
mode:
authormlaier <mlaier@FreeBSD.org>2004-07-02 12:16:02 +0000
committermlaier <mlaier@FreeBSD.org>2004-07-02 12:16:02 +0000
commit7bc770a2546e8a5f93ee931634d4064b3b6e08f2 (patch)
tree65f0224543a217107b8c639eebd90136c5b1386d /sys/pci/if_rl.c
parent1ddf2fdcc0eaea7a1f7848fe9957f173c396c23c (diff)
downloadFreeBSD-src-7bc770a2546e8a5f93ee931634d4064b3b6e08f2.zip
FreeBSD-src-7bc770a2546e8a5f93ee931634d4064b3b6e08f2.tar.gz
Bring in the first chunk of altq driver modifications. This covers the
following drivers: bfe(4), em(4), fxp(4), lnc(4), tun(4), de(4) rl(4), sis(4) and xl(4) More patches are pending on: http://peoples.freebsd.org/~mlaier/ Please take a look and tell me if "your" driver is missing, so I can fix this. Tested-by: many No-objection: -current, -net
Diffstat (limited to 'sys/pci/if_rl.c')
-rw-r--r--sys/pci/if_rl.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/pci/if_rl.c b/sys/pci/if_rl.c
index 262b6a1..6398752 100644
--- a/sys/pci/if_rl.c
+++ b/sys/pci/if_rl.c
@@ -1048,7 +1048,9 @@ rl_attach(dev)
ifp->if_capabilities |= IFCAP_POLLING;
#endif
ifp->if_capenable = ifp->if_capabilities;
- ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
+ IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN);
+ ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN;
+ IFQ_SET_READY(&ifp->if_snd);
callout_handle_init(&sc->rl_stat_ch);
@@ -1393,7 +1395,7 @@ rl_poll (struct ifnet *ifp, enum poll_cmd cmd, int count)
sc->rxcycles = count;
rl_rxeof(sc);
rl_txeof(sc);
- if (ifp->if_snd.ifq_head != NULL)
+ if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
rl_start(ifp);
if (cmd == POLL_AND_CHECK_STATUS) { /* also check status register */
@@ -1475,7 +1477,7 @@ rl_intr(arg)
}
- if (ifp->if_snd.ifq_head != NULL)
+ if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
rl_start(ifp);
#ifdef DEVICE_POLLING
@@ -1545,7 +1547,7 @@ rl_start(ifp)
RL_LOCK(sc);
while(RL_CUR_TXMBUF(sc) == NULL) {
- IF_DEQUEUE(&ifp->if_snd, m_head);
+ IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head);
if (m_head == NULL)
break;
OpenPOWER on IntegriCloud