diff options
author | mlaier <mlaier@FreeBSD.org> | 2004-08-01 23:58:04 +0000 |
---|---|---|
committer | mlaier <mlaier@FreeBSD.org> | 2004-08-01 23:58:04 +0000 |
commit | 14a50c4ac0247a8950847156b4fc16cf935c14ca (patch) | |
tree | 6ebb50d212d74e6c2bdec898a448d868eb8edfb1 /sys/dev/if_ndis | |
parent | b0892abf37d766a8598aa74f40cb2e7585bca172 (diff) | |
download | FreeBSD-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.c | 19 |
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; } |