summaryrefslogtreecommitdiffstats
path: root/sys/dev/atkbdc/atkbd.c
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2011-05-20 22:36:17 +0000
committerdelphij <delphij@FreeBSD.org>2011-05-20 22:36:17 +0000
commitb1c7404a29cca0fe879d99c3022eef64cb1a8017 (patch)
tree47bf37de0fac2dc4334f390e3560b01b3292888b /sys/dev/atkbdc/atkbd.c
parenta1bf1a258207345435ea10acd5842a3edd836a66 (diff)
downloadFreeBSD-src-b1c7404a29cca0fe879d99c3022eef64cb1a8017.zip
FreeBSD-src-b1c7404a29cca0fe879d99c3022eef64cb1a8017.tar.gz
Add a new knob to atkbd(4) to enable typematic rate detection on boot,
which is now disabled by default. The detection is known to cause hangs on boot with some new Lenovo laptops on FreeBSD/amd64. Reported by: gnn Discussed with: jkim MFC after: 3 months
Diffstat (limited to 'sys/dev/atkbdc/atkbd.c')
-rw-r--r--sys/dev/atkbdc/atkbd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/atkbdc/atkbd.c b/sys/dev/atkbdc/atkbd.c
index 600020f..643554d 100644
--- a/sys/dev/atkbdc/atkbd.c
+++ b/sys/dev/atkbdc/atkbd.c
@@ -1097,6 +1097,9 @@ get_typematic(keyboard_t *kbd)
x86regs_t regs;
uint8_t *p;
+ if (!(kbd->kb_config & KB_CONF_PROBE_TYPEMATIC))
+ return (ENODEV);
+
if (x86bios_get_intr(0x15) == 0 || x86bios_get_intr(0x16) == 0)
return (ENODEV);
OpenPOWER on IntegriCloud