diff -up src/sys/dev/atkbdc/atkbdc.c.orig src/sys/dev/atkbdc/atkbdc.c --- src/sys/dev/atkbdc/atkbdc.c.orig 2016-04-11 11:57:01.757463000 -0300 +++ src/sys/dev/atkbdc/atkbdc.c 2016-04-11 11:56:43.104453000 -0300 @@ -1071,6 +1071,8 @@ test_kbd_port(KBDC p) int again = KBD_MAXWAIT; int c = -1; + emptyq(&kbdcp(p)->kbd); + return TRUE; while (retry-- > 0) { empty_both_buffers(p, 10); if (write_controller_command(p, KBDC_TEST_KBD_PORT)) @@ -1097,6 +1099,8 @@ test_aux_port(KBDC p) int again = KBD_MAXWAIT; int c = -1; + emptyq(&kbdcp(p)->kbd); + return TRUE; while (retry-- > 0) { empty_both_buffers(p, 10); if (write_controller_command(p, KBDC_TEST_AUX_PORT))