X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/ed554bc5e4201344d7eaad78263566e79428759c..fd88f5c5678c80ff5e338adc372d28a52ad20530:/usr/src/sys/net/if_sl.c diff --git a/usr/src/sys/net/if_sl.c b/usr/src/sys/net/if_sl.c index 56ce96f4b9..e6ef3ad50d 100644 --- a/usr/src/sys/net/if_sl.c +++ b/usr/src/sys/net/if_sl.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)if_sl.c 8.6 (Berkeley) 2/1/94 + * @(#)if_sl.c 8.9 (Berkeley) 1/9/95 */ /* @@ -176,8 +176,6 @@ struct sl_softc sl_softc[NSL]; #define TRANS_FRAME_END 0xdc /* transposed frame end */ #define TRANS_FRAME_ESCAPE 0xdd /* transposed frame esc */ -extern struct timeval time; - static int slinit __P((struct sl_softc *)); static struct mbuf *sl_btom __P((struct sl_softc *, int)); @@ -245,6 +243,7 @@ slopen(dev, tp) register struct sl_softc *sc; register int nsl; int error; + int s; if (error = suser(p->p_ucred, &p->p_acflag)) return (error); @@ -259,6 +258,9 @@ slopen(dev, tp) tp->t_sc = (caddr_t)sc; sc->sc_ttyp = tp; sc->sc_if.if_baudrate = tp->t_ospeed; + s = spltty(); + tp->t_state |= TS_ISOPEN | TS_XCLUDE; + splx(s); ttyflush(tp, FREAD | FWRITE); return (0); } @@ -279,6 +281,7 @@ slclose(tp) ttywflush(tp); s = splimp(); /* actually, max(spltty, splnet) */ tp->t_line = 0; + tp->t_state = 0; sc = (struct sl_softc *)tp->t_sc; if (sc != NULL) { if_down(&sc->sc_if); @@ -300,7 +303,7 @@ slclose(tp) int sltioctl(tp, cmd, data, flag) struct tty *tp; - int cmd; + u_long cmd; caddr_t data; int flag; { @@ -631,7 +634,7 @@ slinput(c, tp) sc = (struct sl_softc *)tp->t_sc; if (sc == NULL) return; - if (c & TTY_ERRORMASK || ((tp->t_state & TS_CARR_ON) == 0 && + if ((c & TTY_ERRORMASK) || ((tp->t_state & TS_CARR_ON) == 0 && (tp->t_cflag & CLOCAL) == 0)) { sc->sc_flags |= SC_ERROR; return; @@ -789,7 +792,7 @@ newpack: int slioctl(ifp, cmd, data) register struct ifnet *ifp; - int cmd; + u_long cmd; caddr_t data; { register struct ifaddr *ifa = (struct ifaddr *)data;