summaryrefslogtreecommitdiffstats
path: root/sys/dev/sio
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1995-08-13 07:49:35 +0000
committerbde <bde@FreeBSD.org>1995-08-13 07:49:35 +0000
commit567c62b04012a4709806b0736d96eccb401d5c4a (patch)
treedd0264779f4466946ae011eed97f0b452233f94c /sys/dev/sio
parent3bb5707e9de5562fab73ac9d84e7e40654aacec1 (diff)
downloadFreeBSD-src-567c62b04012a4709806b0736d96eccb401d5c4a.zip
FreeBSD-src-567c62b04012a4709806b0736d96eccb401d5c4a.tar.gz
Disable fifos in sioclose(). Closes PR 576.
Diffstat (limited to 'sys/dev/sio')
-rw-r--r--sys/dev/sio/sio.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c
index 098ca51..205fa5b 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.108 1995/07/31 18:29:51 bde Exp $
+ * $Id: sio.c,v 1.109 1995/07/31 21:10:36 bde Exp $
*/
#include "sio.h"
@@ -986,6 +986,14 @@ comhardclose(com)
}
}
}
+ if (com->hasfifo) {
+ /*
+ * Disable fifos so that they are off after controlled
+ * reboots. Some BIOSes fail to detect 16550s when the
+ * fifos are enabled.
+ */
+ outb(iobase + com_fifo, 0);
+ }
com->active_out = FALSE;
wakeup(&com->active_out);
wakeup(TSA_CARR_ON(tp)); /* restart any wopeners */
OpenPOWER on IntegriCloud