diff options
author | brueffer <brueffer@FreeBSD.org> | 2006-06-05 17:59:46 +0000 |
---|---|---|
committer | brueffer <brueffer@FreeBSD.org> | 2006-06-05 17:59:46 +0000 |
commit | 79afacb1842fb4ae3fcf9b0d8893e19df420a93c (patch) | |
tree | a3db88fc900fb0d9c9573be76540be819e278e4f /sys/dev/my | |
parent | 0a619128b12b97ce290a4aeda326d184ed915172 (diff) | |
download | FreeBSD-src-79afacb1842fb4ae3fcf9b0d8893e19df420a93c.zip FreeBSD-src-79afacb1842fb4ae3fcf9b0d8893e19df420a93c.tar.gz |
Add altq(4) support.
Reviewed by: mlaier
Approved by: rwatson (mentor)
MFC after: 2 weeks
Diffstat (limited to 'sys/dev/my')
-rw-r--r-- | sys/dev/my/if_my.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/my/if_my.c b/sys/dev/my/if_my.c index 035f11f..059c3a3 100644 --- a/sys/dev/my/if_my.c +++ b/sys/dev/my/if_my.c @@ -885,7 +885,9 @@ my_attach(device_t dev) ifp->if_watchdog = my_watchdog; ifp->if_init = my_init; ifp->if_baudrate = 10000000; - 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); if (sc->my_info->my_did == MTD803ID) sc->my_pinfo = my_phys; @@ -1305,7 +1307,7 @@ my_intr(void *arg) /* Re-enable interrupts. */ CSR_WRITE_4(sc, MY_IMR, MY_INTRS); - if (ifp->if_snd.ifq_head != NULL) + if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) my_start_locked(ifp); MY_UNLOCK(sc); return; @@ -1405,7 +1407,7 @@ my_start_locked(struct ifnet * ifp) } start_tx = sc->my_cdata.my_tx_free; while (sc->my_cdata.my_tx_free->my_mbuf == NULL) { - IF_DEQUEUE(&ifp->if_snd, m_head); + IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); if (m_head == NULL) break; @@ -1692,7 +1694,7 @@ my_watchdog(struct ifnet * ifp) my_stop(sc); my_reset(sc); my_init_locked(sc); - if (ifp->if_snd.ifq_head != NULL) + if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) my_start_locked(ifp); MY_LOCK(sc); return; |