diff --git a/sys/net/if_sl.c b/sys/net/if_sl.c index 6d2b996bc4d7..f5fa1d1519ea 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