summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjcs <jcs@openbsd.org>2015-03-16 01:54:47 +0000
committerjcs <jcs@openbsd.org>2015-03-16 01:54:47 +0000
commit5b723fc5e2a7576c4ab438704d276a1ec4ace0f8 (patch)
tree9e110de303e5bedbc79937af97a92dd243851cb1
parentRevert 1.44 since we have found some machines where the keyboard (diff)
downloadwireguard-openbsd-5b723fc5e2a7576c4ab438704d276a1ec4ace0f8.tar.xz
wireguard-openbsd-5b723fc5e2a7576c4ab438704d276a1ec4ace0f8.zip
Revert 1.39. Resetting after specifically putting the keyboard in a
different table will most likely just revert the keyboard to its default table anyway. Instead, just flush the kbd slot before choosing a table and then still forcefully enable the slot, which is enough to fix UKC on the 3rd gen X1 carbon while having a much smaller chance of breaking anything else. ok deraadt
-rw-r--r--sys/dev/pckbc/pckbd.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/dev/pckbc/pckbd.c b/sys/dev/pckbc/pckbd.c
index d6a8d848631..1fa24438fef 100644
--- a/sys/dev/pckbc/pckbd.c
+++ b/sys/dev/pckbc/pckbd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pckbd.c,v 1.40 2015/03/14 03:38:49 jsg Exp $ */
+/* $OpenBSD: pckbd.c,v 1.41 2015/03/16 01:54:47 jcs Exp $ */
/* $NetBSD: pckbd.c,v 1.24 2000/06/05 22:20:57 sommerfeld Exp $ */
/*-
@@ -1028,15 +1028,12 @@ pckbd_cnpollc(void *v, int on)
if (t->t_table == 0) {
char cmd[1];
+ pckbc_flush(t->t_kbctag, t->t_kbcslot);
pckbd_set_xtscancode(t->t_kbctag, t->t_kbcslot, t);
/* Just to be sure. */
cmd[0] = KBC_ENABLE;
pckbc_poll_cmd(t->t_kbctag, PCKBC_KBD_SLOT, cmd, 1, 0, NULL, 0);
- cmd[0] = KBC_RESET;
- pckbc_poll_cmd(t->t_kbctag, PCKBC_KBD_SLOT, cmd, 1, 0, NULL, 0);
- cmd[0] = PMS_RESET;
- pckbc_poll_cmd(t->t_kbctag, PCKBC_AUX_SLOT, cmd, 1, 0, NULL, 0);
}
}