summaryrefslogtreecommitdiffstats
path: root/sys/dev/if_ndis
diff options
context:
space:
mode:
authormlaier <mlaier@FreeBSD.org>2004-08-01 23:58:04 +0000
committermlaier <mlaier@FreeBSD.org>2004-08-01 23:58:04 +0000
commit14a50c4ac0247a8950847156b4fc16cf935c14ca (patch)
tree6ebb50d212d74e6c2bdec898a448d868eb8edfb1 /sys/dev/if_ndis
parentb0892abf37d766a8598aa74f40cb2e7585bca172 (diff)
downloadFreeBSD-src-14a50c4ac0247a8950847156b4fc16cf935c14ca.zip
FreeBSD-src-14a50c4ac0247a8950847156b4fc16cf935c14ca.tar.gz
Second part of ALTQ driver modifications, covering:
an(4), ath(4), hme(4), ndis(4), vr(4) and wi(4) Please help testing: http://people.freebsd.org/~mlaier/ALTQ_driver/ Tested by: Vaidas Damosevicius (an, ath, wi) Roman Divacky (vr) Submitted by: yongari (hme)
Diffstat (limited to 'sys/dev/if_ndis')
-rw-r--r--sys/dev/if_ndis/if_ndis.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/dev/if_ndis/if_ndis.c b/sys/dev/if_ndis/if_ndis.c
index ae0821d..e1b8d98 100644
--- a/sys/dev/if_ndis/if_ndis.c
+++ b/sys/dev/if_ndis/if_ndis.c
@@ -490,7 +490,13 @@ ndis_attach(dev)
ifp->if_watchdog = ndis_watchdog;
ifp->if_init = ndis_init;
ifp->if_baudrate = 10000000;
+#if __FreeBSD_version < 502114
ifp->if_snd.ifq_maxlen = 50;
+#else
+ IFQ_SET_MAXLEN(&ifp->if_snd, 50);
+ ifp->if_snd.ifq_drv_maxlen = 25;
+ IFQ_SET_READY(&ifp->if_snd);
+#endif
ifp->if_capenable = ifp->if_capabilities;
ifp->if_hwassist = sc->ndis_hwassist;
@@ -1151,7 +1157,11 @@ ndis_starttask(arg)
struct ifnet *ifp;
ifp = arg;
+#if __FreeBSD_version < 502114
if (ifp->if_snd.ifq_head != NULL)
+#else
+ if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
+#endif
ndis_start(ifp);
return;
}
@@ -1191,15 +1201,24 @@ ndis_start(ifp)
p0 = &sc->ndis_txarray[sc->ndis_txidx];
while(sc->ndis_txpending) {
+#if __FreeBSD_version < 502114
IF_DEQUEUE(&ifp->if_snd, m);
+#else
+ IFQ_DRV_DEQUEUE(&ifp->if_snd, m);
+#endif
if (m == NULL)
break;
sc->ndis_txarray[sc->ndis_txidx] = NULL;
if (ndis_mtop(m, &sc->ndis_txarray[sc->ndis_txidx])) {
+#if __FreeBSD_version >= 502114
+ IFQ_DRV_PREPEND(&ifp->if_snd, m);
+#endif
NDIS_UNLOCK(sc);
+#if __FreeBSD_version < 502114
IF_PREPEND(&ifp->if_snd, m);
+#endif
return;
}
OpenPOWER on IntegriCloud