diff options
author | ache <ache@FreeBSD.org> | 1994-03-08 22:11:10 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1994-03-08 22:11:10 +0000 |
commit | d533737466bfa577d7a0d4562bd4dca37909a8a6 (patch) | |
tree | d51c27597ebd5913e7d822dfd37179b53be9ce41 /sys/isa | |
parent | f93c7d6114655c91e736b211c163f3e04f0732b1 (diff) | |
download | FreeBSD-src-d533737466bfa577d7a0d4562bd4dca37909a8a6.zip FreeBSD-src-d533737466bfa577d7a0d4562bd4dca37909a8a6.tar.gz |
First open:
now HUPCL set only in bidir case for callin lines
(this prevents set HUPCL on mouse)
comhardclose:
in addition to HUPCL case now DTR dropped for bidir case
if line was active in and no carrier present now.
(this prevents DTR sleep on mouse)
Diffstat (limited to 'sys/isa')
-rw-r--r-- | sys/isa/sio.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/sys/isa/sio.c b/sys/isa/sio.c index cebc9dc..9a1a4b5 100644 --- a/sys/isa/sio.c +++ b/sys/isa/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.30 1994/02/26 00:04:03 phk Exp $ + * $Id: sio.c,v 1.31 1994/03/02 20:28:36 guido Exp $ */ #include "sio.h" @@ -668,9 +668,13 @@ bidir_open_top: tp->t_oflag = 0; #ifdef COMCONSOLE if (unit == comconsole) - tp->t_oflag = TTYDEF_OFLAG; + tp->t_oflag = TTYDEF_OFLAG; +#endif + tp->t_cflag = CREAD | CS8; +#ifdef COM_BIDIR + if (com->bidir && !callout) + tp->t_cflag |= HUPCL; #endif - tp->t_cflag = CREAD | CS8 | HUPCL; tp->t_lflag = 0; tp->t_ispeed = tp->t_ospeed = comdefaultrate; } @@ -800,7 +804,10 @@ comhardclose(com) outb(iobase + com_ier, 0); tp = com->tp; if (tp->t_cflag & HUPCL || tp->t_state & TS_WOPEN - || !(com->prev_modem_status & MSR_DCD) && !FAKE_DCD(unit) +#ifdef COM_BIDIR + || com->active_in + && !(com->prev_modem_status & MSR_DCD) && !FAKE_DCD(unit) +#endif || !(tp->t_state & TS_ISOPEN)) { commctl(com, MCR_RTS, DMSET); if (com->dtr_wait != 0) |