diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2009-01-04 12:20:02 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2009-01-04 12:20:02 -0500 |
commit | 0234cd90be8805b1951b4411de81314d27518eea (patch) | |
tree | c7149c6dc8313909b66935d3d34f4ca281fdfb1b /src/kbd.c | |
parent | 7bb3253a0545c551ff25cc66dddf914a6f4a2928 (diff) | |
download | seabios-0234cd90be8805b1951b4411de81314d27518eea.tar.gz |
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.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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); |