diff options
author | rwatson <rwatson@FreeBSD.org> | 2004-08-06 22:41:13 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2004-08-06 22:41:13 +0000 |
commit | ef39095fcde6ac8b10d0df19b180c0124ee6745c (patch) | |
tree | f6db60465657aa3e8a80adfd23988917b02f8b01 /sys | |
parent | bc600631b587bfc5985808738b048aae7795e8e8 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/net/if_sl.c | 4 |
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 |