diff options
author | jhb <jhb@FreeBSD.org> | 2008-06-05 14:43:55 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2008-06-05 14:43:55 +0000 |
commit | 8da84f3ad23b7d940ee9e733e027434dacfc8de9 (patch) | |
tree | 06a1837c6441d1ede17a7601de7d78008c7ebc21 | |
parent | bfec185969707cd088102f9fbedab0d235db18b0 (diff) | |
download | FreeBSD-src-8da84f3ad23b7d940ee9e733e027434dacfc8de9.zip FreeBSD-src-8da84f3ad23b7d940ee9e733e027434dacfc8de9.tar.gz |
- Fix two calls to ieinit() in ieioctl() to call ieinit_locked() instead to
avoid recursing on the lock.
- Use IFQ_SET_MAXLEN().
-rw-r--r-- | sys/dev/ie/if_ie.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/ie/if_ie.c b/sys/dev/ie/if_ie.c index b69d80b..eee947f 100644 --- a/sys/dev/ie/if_ie.c +++ b/sys/dev/ie/if_ie.c @@ -320,7 +320,7 @@ ie_attach(device_t dev) ifp->if_start = iestart; ifp->if_ioctl = ieioctl; ifp->if_init = ieinit; - ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; + IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN); if (sc->hard_type == IE_EE16) EVENTHANDLER_REGISTER(shutdown_post_sync, ee16_shutdown, @@ -1642,12 +1642,12 @@ ieioctl(struct ifnet *ifp, u_long command, caddr_t data) (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { sc->promisc = ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI); - ieinit(sc); + ieinit_locked(sc); } else if (sc->promisc ^ (ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI))) { sc->promisc = ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI); - ieinit(sc); + ieinit_locked(sc); } IE_UNLOCK(sc); break; |