aboutsummaryrefslogtreecommitdiff
path: root/src/kbd.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2009-01-04 12:20:02 -0500
committerKevin O'Connor <kevin@koconnor.net>2009-01-04 12:20:02 -0500
commit0234cd90be8805b1951b4411de81314d27518eea (patch)
treec7149c6dc8313909b66935d3d34f4ca281fdfb1b /src/kbd.c
parent7bb3253a0545c551ff25cc66dddf914a6f4a2928 (diff)
downloadseabios-hppa-0234cd90be8805b1951b4411de81314d27518eea.zip
seabios-hppa-0234cd90be8805b1951b4411de81314d27518eea.tar.gz
seabios-hppa-0234cd90be8805b1951b4411de81314d27518eea.tar.bz2
Make sure ps2 port command reads are from the desired device.
Discard reads from real-time events or from a different device. Also, improve the kbd/mouse diagnostic messages.
Diffstat (limited to 'src/kbd.c')
-rw-r--r--src/kbd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/kbd.c b/src/kbd.c
index f171cf3..a88f1ea 100644
--- a/src/kbd.c
+++ b/src/kbd.c
@@ -617,8 +617,8 @@ handle_09()
// read key from keyboard controller
u8 v = inb(PORT_PS2_STATUS);
- if ((v & 0x21) != 0x01) {
- dprintf(1, "int09 but no keyboard data.\n");
+ if ((v & (I8042_STR_OBF|I8042_STR_AUXDATA)) != I8042_STR_OBF) {
+ dprintf(1, "keyboard irq but no keyboard data.\n");
goto done;
}
u8 key = inb(PORT_PS2_DATA);