summaryrefslogtreecommitdiffstats
path: root/sys/dev/cp
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2004-08-13 23:02:17 +0000
committerrwatson <rwatson@FreeBSD.org>2004-08-13 23:02:17 +0000
commit0564d2c810d6d4d45b5556efa8e250b7f57e7f5a (patch)
tree9e1f3b3670049ca726ac73c894edc7cd12455bf1 /sys/dev/cp
parenta202a0747221a9dab936429aac866b0a5cfd76f4 (diff)
downloadFreeBSD-src-0564d2c810d6d4d45b5556efa8e250b7f57e7f5a.zip
FreeBSD-src-0564d2c810d6d4d45b5556efa8e250b7f57e7f5a.tar.gz
Since if_cp 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/cp')
-rw-r--r--sys/dev/cp/if_cp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/cp/if_cp.c b/sys/dev/cp/if_cp.c
index 7a54dcf..85d1836 100644
--- a/sys/dev/cp/if_cp.c
+++ b/sys/dev/cp/if_cp.c
@@ -508,7 +508,8 @@ static int cp_attach (device_t dev)
d->pp.pp_if.if_name = "cp";
#endif
d->pp.pp_if.if_mtu = PP_MTU;
- d->pp.pp_if.if_flags = IFF_POINTOPOINT | IFF_MULTICAST;
+ d->pp.pp_if.if_flags = IFF_POINTOPOINT | IFF_MULTICAST |
+ IFF_NEEDSGIANT;
d->pp.pp_if.if_ioctl = cp_sioctl;
d->pp.pp_if.if_start = cp_ifstart;
d->pp.pp_if.if_watchdog = cp_ifwatchdog;
OpenPOWER on IntegriCloud