Synchronize with sys/i386/isa/sio.c revision 1.158.
This commit is contained in:
parent
e91c4f7cc3
commit
59e8efa110
@ -1444,11 +1444,22 @@ sioopen(dev, flag, mode, p)
|
||||
outb(iobase + com_fifo,
|
||||
FIFO_RCV_RST | FIFO_XMT_RST
|
||||
| com->fifo_image);
|
||||
DELAY(100);
|
||||
/*
|
||||
* XXX the delays are for superstitious
|
||||
* historical reasons. It must be less than
|
||||
* the character time at the maximum
|
||||
* supported speed (87 usec at 115200 bps
|
||||
* 8N1). Otherwise we might loop endlessly
|
||||
* if data is streaming in. We used to use
|
||||
* delays of 100. That usually worked
|
||||
* because DELAY(100) used to usually delay
|
||||
* for about 85 usec instead of 100.
|
||||
*/
|
||||
DELAY(50);
|
||||
if (!(inb(com->line_status_port) & LSR_RXRDY))
|
||||
break;
|
||||
outb(iobase + com_fifo, 0);
|
||||
DELAY(100);
|
||||
DELAY(50);
|
||||
(void) inb(com->data_port);
|
||||
}
|
||||
}
|
||||
@ -1576,7 +1587,8 @@ comhardclose(com)
|
||||
s = spltty();
|
||||
com->poll = FALSE;
|
||||
com->poll_output = FALSE;
|
||||
com->do_timestamp = 0;
|
||||
com->do_timestamp = FALSE;
|
||||
com->do_dcd_timestamp = FALSE;
|
||||
#ifdef PC98
|
||||
if(IS_8251(com->pc98_if_type))
|
||||
com_send_break_off(com);
|
||||
|
@ -1444,11 +1444,22 @@ sioopen(dev, flag, mode, p)
|
||||
outb(iobase + com_fifo,
|
||||
FIFO_RCV_RST | FIFO_XMT_RST
|
||||
| com->fifo_image);
|
||||
DELAY(100);
|
||||
/*
|
||||
* XXX the delays are for superstitious
|
||||
* historical reasons. It must be less than
|
||||
* the character time at the maximum
|
||||
* supported speed (87 usec at 115200 bps
|
||||
* 8N1). Otherwise we might loop endlessly
|
||||
* if data is streaming in. We used to use
|
||||
* delays of 100. That usually worked
|
||||
* because DELAY(100) used to usually delay
|
||||
* for about 85 usec instead of 100.
|
||||
*/
|
||||
DELAY(50);
|
||||
if (!(inb(com->line_status_port) & LSR_RXRDY))
|
||||
break;
|
||||
outb(iobase + com_fifo, 0);
|
||||
DELAY(100);
|
||||
DELAY(50);
|
||||
(void) inb(com->data_port);
|
||||
}
|
||||
}
|
||||
@ -1576,7 +1587,8 @@ comhardclose(com)
|
||||
s = spltty();
|
||||
com->poll = FALSE;
|
||||
com->poll_output = FALSE;
|
||||
com->do_timestamp = 0;
|
||||
com->do_timestamp = FALSE;
|
||||
com->do_dcd_timestamp = FALSE;
|
||||
#ifdef PC98
|
||||
if(IS_8251(com->pc98_if_type))
|
||||
com_send_break_off(com);
|
||||
|
Loading…
Reference in New Issue
Block a user