summaryrefslogtreecommitdiffstats
path: root/sys/net/if_sl.c
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2004-08-06 22:41:13 +0000
committerrwatson <rwatson@FreeBSD.org>2004-08-06 22:41:13 +0000
commitef39095fcde6ac8b10d0df19b180c0124ee6745c (patch)
treef6db60465657aa3e8a80adfd23988917b02f8b01 /sys/net/if_sl.c
parentbc600631b587bfc5985808738b048aae7795e8e8 (diff)
downloadFreeBSD-src-ef39095fcde6ac8b10d0df19b180c0124ee6745c.zip
FreeBSD-src-ef39095fcde6ac8b10d0df19b180c0124ee6745c.tar.gz
As SLIP directly accesses the tty code from its if_start() routine,
mark if_sl as IFF_NEEDSGIANT.
Diffstat (limited to 'sys/net/if_sl.c')
-rw-r--r--sys/net/if_sl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/net/if_sl.c b/sys/net/if_sl.c
index 6d2b996..f5fa1d1 100644
--- a/sys/net/if_sl.c
+++ b/sys/net/if_sl.c
@@ -309,7 +309,7 @@ slcreate()
#ifdef SLIP_IFF_OPTS
SLIP_IFF_OPTS;
#else
- IFF_POINTOPOINT | SC_AUTOCOMP | IFF_MULTICAST;
+ IFF_POINTOPOINT | SC_AUTOCOMP | IFF_MULTICAST | IFF_NEEDSGIANT;
#endif
sc->sc_if.if_type = IFT_SLIP;
sc->sc_if.if_ioctl = slioctl;
@@ -610,6 +610,8 @@ slstart(tp)
int s;
register int len = 0;
+ GIANT_REQUIRED; /* tty */
+
for (;;) {
/*
* Call output process whether or not there is more in the
OpenPOWER on IntegriCloud