diff options
author | Tobias Weingartner <weingart@cvs.openbsd.org> | 1998-07-12 18:56:07 +0000 |
---|---|---|
committer | Tobias Weingartner <weingart@cvs.openbsd.org> | 1998-07-12 18:56:07 +0000 |
commit | 2d68808cfff780677255e0f5b7ef0be71a0d9800 (patch) | |
tree | 2f4fe6c3f206c661803cf42d91f809c4d18aa551 | |
parent | adc79b87eeb37567b18cdb8a13769baf19003e5c (diff) |
Fix for the new fast PII-400 machines. This makes them work, and does not
seem to have an adverse affect on other machines. Thanks to martin@ for
testing on the PII-400 (wish I had one...), and millert@ for testing on
his machines (and finding a bug in my original fix).
pccons & pckbd need fixing too...
-rw-r--r-- | sys/arch/i386/isa/pcvt/pcvt_kbd.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/arch/i386/isa/pcvt/pcvt_kbd.c b/sys/arch/i386/isa/pcvt/pcvt_kbd.c index 630f27f64cc..ccab226fc36 100644 --- a/sys/arch/i386/isa/pcvt/pcvt_kbd.c +++ b/sys/arch/i386/isa/pcvt/pcvt_kbd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pcvt_kbd.c,v 1.16 1998/06/30 20:51:12 millert Exp $ */ +/* $OpenBSD: pcvt_kbd.c,v 1.17 1998/07/12 18:56:06 weingart Exp $ */ /* * Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch. @@ -317,11 +317,13 @@ kbd_wait_output() { u_int i; - for (i = 100000; i; i--) + for (i = 100000; i; i--) { + PCVT_KBD_DELAY(); if ((inb(CONTROLLER_CTRL) & STATUS_INPBF) == 0) { PCVT_KBD_DELAY(); return 1; } + } return 0; } @@ -330,11 +332,13 @@ kbd_wait_input() { u_int i; - for (i = 100000; i; i--) + for (i = 100000; i; i--) { + PCVT_KBD_DELAY(); if ((inb(CONTROLLER_CTRL) & STATUS_OUTPBF) != 0) { PCVT_KBD_DELAY(); return 1; } + } return 0; } |