freebsd-src/sys/i386
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
..
apm Makefile generates boths IBM-PC and PC-98 version of object code in 1997-03-09 16:46:05 +00:00
bios Makefile generates boths IBM-PC and PC-98 version of object code in 1997-03-09 16:46:05 +00:00
boot Don't attempt to read past EOF. 1997-03-15 16:49:51 +00:00
conf Add "conflicts" to sbmidi0 since configured irq passed back to isa 1997-03-26 17:46:03 +00:00
eisa Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
i386 Change sigreturn() to return EFAULT if it is passed an 1997-03-25 23:43:01 +00:00
ibcs2 Don't include <sys/ioctl.h> in the kernel. Stage 4: include 1997-03-24 11:52:29 +00:00
include added support for EEProms writing/reading. 1997-03-25 04:11:13 +00:00
isa Interim patch/kludge for keyboard lock-up when `kbdcontrol' tries to 1997-03-28 10:11:24 +00:00
linux Don't include <sys/ioctl.h> in the kernel. Stage 3: include 1997-03-24 11:37:53 +00:00
pci improve pcibus_check: Only assume PCI if at least one PCI to anything bridge 1997-03-05 20:52:00 +00:00
scsi Fix a fencepost error in ahc_find_scb that could cause us to wrongfully 1997-03-24 17:42:25 +00:00
Makefile Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00