summaryrefslogtreecommitdiffstats
path: root/sys/isa
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1994-04-01 16:47:01 +0000
committerache <ache@FreeBSD.org>1994-04-01 16:47:01 +0000
commit0e71fc743254056293dc4f58899d609220959fa8 (patch)
tree1f9cb55df2b2303b9213eee69d44ba578ff36f67 /sys/isa
parent70d6e4a8c404c8b9b904145721b892889cda255a (diff)
downloadFreeBSD-src-0e71fc743254056293dc4f58899d609220959fa8.zip
FreeBSD-src-0e71fc743254056293dc4f58899d609220959fa8.tar.gz
Change got_status/modem_status assignment per Bruce suggestion,
because inb clears modem status port.
Diffstat (limited to 'sys/isa')
-rw-r--r--sys/isa/sio.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/isa/sio.c b/sys/isa/sio.c
index b3272ba..305256d 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.39 1994/03/25 15:10:50 ache Exp $
+ * $Id: sio.c,v 1.40 1994/03/26 13:40:18 ache Exp $
*/
#include "sio.h"
@@ -715,12 +715,12 @@ bidir_open_top:
disable_intr();
(void) inb(com->line_status_port);
(void) inb(com->data_port);
- com->prev_modem_status = inb(com->modem_status_port);
+ if (!got_status)
+ com->last_modem_status =
+ com->prev_modem_status = inb(com->modem_status_port);
outb(iobase + com_ier, IER_ERXRDY | IER_ETXRDY | IER_ERLS
| IER_EMSC);
enable_intr();
- if (!got_status)
- com->last_modem_status = com->prev_modem_status;
if (com->prev_modem_status & MSR_DCD || FAKE_DCD(unit))
tp->t_state |= TS_CARR_ON;
} else if (tp->t_state & TS_XCLUDE && p->p_ucred->cr_uid != 0) {
OpenPOWER on IntegriCloud