diff options
author | rwatson <rwatson@FreeBSD.org> | 2004-08-13 22:54:19 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2004-08-13 22:54:19 +0000 |
commit | c02722ec8f7fc24b783b42d5d1c9c844ded4589d (patch) | |
tree | ba2726346d90d77b04ff8fce9e065547f3a531fc /sys/dev | |
parent | f9261894f41388807f5f3d1b23be2cdc1eea7e04 (diff) | |
download | FreeBSD-src-c02722ec8f7fc24b783b42d5d1c9c844ded4589d.zip FreeBSD-src-c02722ec8f7fc24b783b42d5d1c9c844ded4589d.tar.gz |
Since if_arl doesn't contain locking or run with INTR_MPSAFE, mark
the interface as IFF_NEEDSGIANT so if_start is run holding Giant.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/arl/if_arl.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/arl/if_arl.c b/sys/dev/arl/if_arl.c index eeb0406..2d199e4 100644 --- a/sys/dev/arl/if_arl.c +++ b/sys/dev/arl/if_arl.c @@ -216,7 +216,8 @@ arl_attach(dev) if_initname(ifp, device_get_name(dev), device_get_unit(dev)); #endif ifp->if_mtu = ETHERMTU; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | + IFF_NEEDSGIANT; ifp->if_start = arl_start; ifp->if_ioctl = arl_ioctl; ifp->if_watchdog = arl_watchdog; |