From aef18d6ed737f9f6e70d836270a080f04be9e6e2 Mon Sep 17 00:00:00 2001 From: Bruce Evans Date: Sat, 13 Apr 1996 14:55:18 +0000 Subject: [PATCH] Another try: fixed bogus change of the fifo settings for the non-speed of 0. rev.1.30 incorrectly changed the behaviour from always disabling the fifo to always enabling it. --- sys/dev/sio/sio.c | 6 +++--- sys/i386/isa/sio.c | 6 +++--- sys/isa/sio.c | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c index ab2fda0c003d..08f3724dfcfa 100644 --- a/sys/dev/sio/sio.c +++ b/sys/dev/sio/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.138 1996/04/10 18:09:58 scrappy Exp $ + * $Id: sio.c,v 1.139 1996/04/11 21:18:49 bde Exp $ */ #include "opt_comconsole.h" @@ -2015,7 +2015,7 @@ comparam(tp, t) if (cflag & CSTOPB) cfcr |= CFCR_STOPB; - if (com->hasfifo) { + if (com->hasfifo && divisor != 0) { /* * Use a fifo trigger level low enough so that the input * latency from the fifo is less than about 16 msec and @@ -2024,7 +2024,7 @@ comparam(tp, t) * protocols shouldn't expect anything better since modem * latencies are larger. */ - com->fifo_image = t->c_ospeed != 0 && t->c_ospeed <= 4800 + com->fifo_image = t->c_ospeed <= 4800 ? FIFO_ENABLE : FIFO_ENABLE | FIFO_RX_HIGH; outb(iobase + com_fifo, com->fifo_image); } diff --git a/sys/i386/isa/sio.c b/sys/i386/isa/sio.c index ab2fda0c003d..08f3724dfcfa 100644 --- a/sys/i386/isa/sio.c +++ b/sys/i386/isa/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.138 1996/04/10 18:09:58 scrappy Exp $ + * $Id: sio.c,v 1.139 1996/04/11 21:18:49 bde Exp $ */ #include "opt_comconsole.h" @@ -2015,7 +2015,7 @@ comparam(tp, t) if (cflag & CSTOPB) cfcr |= CFCR_STOPB; - if (com->hasfifo) { + if (com->hasfifo && divisor != 0) { /* * Use a fifo trigger level low enough so that the input * latency from the fifo is less than about 16 msec and @@ -2024,7 +2024,7 @@ comparam(tp, t) * protocols shouldn't expect anything better since modem * latencies are larger. */ - com->fifo_image = t->c_ospeed != 0 && t->c_ospeed <= 4800 + com->fifo_image = t->c_ospeed <= 4800 ? FIFO_ENABLE : FIFO_ENABLE | FIFO_RX_HIGH; outb(iobase + com_fifo, com->fifo_image); } diff --git a/sys/isa/sio.c b/sys/isa/sio.c index ab2fda0c003d..08f3724dfcfa 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.138 1996/04/10 18:09:58 scrappy Exp $ + * $Id: sio.c,v 1.139 1996/04/11 21:18:49 bde Exp $ */ #include "opt_comconsole.h" @@ -2015,7 +2015,7 @@ comparam(tp, t) if (cflag & CSTOPB) cfcr |= CFCR_STOPB; - if (com->hasfifo) { + if (com->hasfifo && divisor != 0) { /* * Use a fifo trigger level low enough so that the input * latency from the fifo is less than about 16 msec and @@ -2024,7 +2024,7 @@ comparam(tp, t) * protocols shouldn't expect anything better since modem * latencies are larger. */ - com->fifo_image = t->c_ospeed != 0 && t->c_ospeed <= 4800 + com->fifo_image = t->c_ospeed <= 4800 ? FIFO_ENABLE : FIFO_ENABLE | FIFO_RX_HIGH; outb(iobase + com_fifo, com->fifo_image); }