freebsd-skq/sys/dev
Kazutaka YOKOTA 31774f6d83 Interim patch/kludge for keyboard lock-up when `kbdcontrol' tries to
change typematic rate, or the X server (XFree86 or Accelerated X)
starts up.

So far, there have been two independent reports from Dell Latitude XPi
notebook/laptop owners. The Latitude seems to be the only system which
suffers from this problem.  (I don't know the problem is with the
entire Latitude line or with only some Latitude models) No problem
report has been heard about other systems (I certainly cannot
reproduce the problem in my -current and 2.2 systems).

In 3.0-CURRENT, 2.2-RELEASE and 2.2-GAMMA-970310, when programming the
keyboard LED/repeat-rate, `set_keyboard()' in `syscons' tells the
keyboard controller not to generate keyboard interrupt (IRQ1) and then
enable tty interrupts, expecting the keyboard interrupt doesn't occur.

It appears that somehow Latitude's keyboard controller still generates
the keyboard interrupt thereafter, and `set_keyboard()' doesn't see
the return code from the keyboard because it is consumed by the
keyboard interrupt handler.

The patch entirely disables tty interrupts while setting LED and
typematic rate in `set_keyboard()', making the routine behave more
like the previous versions of `syscons' (versions in 2.1.X and
2.2-ALPHA, -BETA, and some -GAMMAs). The reporter said this patch
eliminated the problem.

(I also found another typo/bug, but the reporter and I found that it
wasn't the cause of the problem...)

This should go into RELENG_2_2.
1997-03-28 10:11:24 +00:00
..
advansys Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
aic7xxx Re-arrange the code to upload an SCB to ensure that there is at least 1997-03-24 05:02:55 +00:00
ar Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
bktr "Louis A. Mamakos" <louie@TransSys.COM> new bt848 struct 1997-03-25 04:18:24 +00:00
ccd Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
cy Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
de Don't include <sys/ioctl.h> in the kernel. Stage 2: include 1997-03-24 11:33:46 +00:00
dgb Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
ed Don't include <sys/ioctl.h> in the kernel. Stage 2: include 1997-03-24 11:33:46 +00:00
eisa Various stylistic improvements regarding num_eisa_slots & co.: 1997-03-13 18:04:05 +00:00
ep Don't include <sys/ioctl.h> in the kernel. Stage 2: include 1997-03-24 11:33:46 +00:00
ex Don't include <sys/ioctl.h> in the kernel. Stage 2: include 1997-03-24 11:33:46 +00:00
fdc Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
fe Don't include <sys/ioctl.h> in the kernel. Stage 2: include 1997-03-24 11:33:46 +00:00
fxp Made a couple of minor optimizations that improve performance of the 1997-03-25 14:54:38 +00:00
ic Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
ie Don't include <sys/ioctl.h> in the kernel. Stage 2: include 1997-03-24 11:33:46 +00:00
joy Updated #includes to 4.4Lite style. 1996-09-10 08:32:01 +00:00
kbd Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
lnc Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
mcd Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
mse Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
pci Fix printing of map sizes: large numbers got a negative sign before. 1997-03-25 19:12:08 +00:00
pdq Don't include <sys/ioctl.h> in the kernel. Stage 2: include 1997-03-24 11:33:46 +00:00
ppbus Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
rc Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
scd Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
si Don't include <sys/ioctl.h> in the kernel. Stage 5: include 1997-03-24 12:03:06 +00:00
sio Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
snp Don't include <sys/ioctl.h> in the kernel. Stage 3: include 1997-03-24 11:37:53 +00:00
speaker Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
sr Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
syscons Interim patch/kludge for keyboard lock-up when `kbdcontrol' tries to 1997-03-28 10:11:24 +00:00
vn Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
vx Don't include <sys/ioctl.h> in the kernel. Stage 2: include 1997-03-24 11:33:46 +00:00