freebsd-dev/sys
Maksim Yevmenkin fd4df69975 Fix hard lockup caused by kbdmux(4) when kbdmux(4), PS/2 keyboard
(atkbd(4)) and PS/2 mouse (psm(4)) are used together.

Turns out that atkbd(4) check_char() method may return "true" while
read_char() method returns NOKEY. When this happens kbdmux(4) was
simply stuck in the dead loop. Avoid dead loop in kbdmux(4) by breaking
out of the loop if read_char() method returns NOKEY.

It almost seems like a bug in atkkbd(4), atkbd_check_char() calls
kbdc_data_ready(), and, the later will return "true" if there are
pending data in either kbd or aux queue. However, because both aux
and kbd are on the same controller, I'm not sure if this is a bug
or feature.

Tested by:	markus
MFC after:	1 day
2006-02-25 21:59:29 +00:00
..
alpha Close some races between procfs/ptrace and exit(2): 2006-02-22 18:57:50 +00:00
amd64 It seems bit 5 of cpu_feature2 is the VMX (Virtual Machine Extensions) 2006-02-15 14:48:59 +00:00
arm Close some races between procfs/ptrace and exit(2): 2006-02-22 18:57:50 +00:00
boot Remove ELF dynamic tag definitions that aren't used. Ideally, 2006-01-18 18:49:25 +00:00
bsm Merge OpenBSM 1.0 alpha 3 include file changes from contrib/openbsm/bsm 2006-02-06 01:12:46 +00:00
cam - Add a scsi_da.c and a umass.c quirk for Genesys 6-in-1 Card Reader. 2006-01-30 20:27:44 +00:00
coda - Reorder calls to vrele() after calls to vput() when the vrele is a 2006-02-01 00:25:26 +00:00
compat - Always call exec_free_args() in kern_execve() instead of doing it in all 2006-02-06 22:06:54 +00:00
conf Remove dev/uart/uart_if.m from the default MFILES (in kmod.mk) and 2006-02-24 01:49:36 +00:00
contrib resolve merge conflicts 2006-02-10 19:01:02 +00:00
crypto
ddb Fix -Wundef. 2005-12-04 02:12:43 +00:00
dev Fix hard lockup caused by kbdmux(4) when kbdmux(4), PS/2 keyboard 2006-02-25 21:59:29 +00:00
doc
fs Close some races between procfs/ptrace and exit(2): 2006-02-22 18:57:50 +00:00
gdb
geom Do not use bio structure after g_io_deliver(), it may not longer by valid. 2006-02-22 10:21:05 +00:00
gnu Add marker vnodes to ensure that all vnodes associated with the mount point are 2006-01-09 20:42:19 +00:00
i4b Fix -Wundef warnings found when compiling i386 LINT, GENERIC and 2005-12-05 11:58:35 +00:00
i386 Add frequency-voltage tables for Intel 778, 758, 773, 753, and 733J 2006-02-25 04:55:38 +00:00
ia64 Close some races between procfs/ptrace and exit(2): 2006-02-22 18:57:50 +00:00
isa Tweak how the MD code calls the fooclock() methods some. Instead of 2005-12-22 22:16:09 +00:00
isofs/cd9660 I ran into an nfs client panic a couple of times in a row over the 2006-01-17 17:29:03 +00:00
kern Always print a newline char at the end of the line. 2006-02-25 16:20:22 +00:00
libkern Convert function declarations to ANSI C. 2006-01-22 00:46:40 +00:00
modules Move the hard-coded ETHER_* options to where they belong -- 2006-02-24 12:27:09 +00:00
net Don't to forget to unlock the rwlock on trunk before destroying it. 2006-02-24 17:25:16 +00:00
net80211 consolidate calculation of capabilities ie 2006-02-25 05:36:43 +00:00
netatalk - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
netatm Convert to ANSI C function declarations. 2006-01-22 01:07:11 +00:00
netgraph Clear csum_flags after reading data from socket buffer. Otherwise, 2006-02-21 13:04:39 +00:00
netinet This patch fixes the problem where the current TCP code can not handle 2006-02-23 21:14:34 +00:00
netinet6 avoided the use of purged address structure when an address became 2006-02-12 15:37:08 +00:00
netipsec Fix stack corruptions on amd64. 2006-01-21 10:44:34 +00:00
netipx In spx_attach() and spx_detach(), there is no need to check whether the 2006-01-14 00:05:44 +00:00
netkey Fix stack corruptions on amd64. 2006-01-21 10:44:34 +00:00
netnatm Use sparse initializers for "struct domain" and "struct protosw", 2005-11-09 13:29:16 +00:00
netncp In ncp_sysctl_connstat(), the SLIST_FOREACH() logic to check 'error' 2006-01-14 11:40:32 +00:00
netsmb Although we check the return value of copyin(9) while determaining how 2006-01-16 17:03:21 +00:00
nfs
nfs4client Use nfs4_disconnect for connections opened with nfs4_connect. 2006-01-19 22:48:31 +00:00
nfsclient Don't log an error on tcp connection reset, even if we don't get ECONNRESET. 2006-01-20 15:07:18 +00:00
nfsserver - Reorder calls to vrele() after calls to vput() when the vrele is a 2006-02-01 00:25:26 +00:00
opencrypto
pc98 - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
pccard I don't believe these are used at all, and can be safely removed 2006-01-15 06:49:28 +00:00
pci Add support for the Intel E7205 chipset. 2006-02-17 01:40:46 +00:00
posix4 mqueue.h has been superceded by sys/mqueue.h thanks to David Xu's work. 2005-11-28 02:58:30 +00:00
powerpc Simplify system time accounting for profiling. 2006-02-08 08:09:17 +00:00
rpc Fix up some cut-n-paste damage and some out-of-date comments. 2006-01-20 15:20:41 +00:00
security Add stub AUE_EACCESS entry. 2006-02-11 23:55:08 +00:00
sparc64 - Don't bother traversing trap frames in stack_save(). This fixes panics 2006-02-19 11:54:46 +00:00
sys MFp4: 2006-02-24 02:24:10 +00:00
tools Fix a leftover "iwi_boot" string. 2006-01-30 16:32:08 +00:00
ufs - Using LK_NOWAIT in qsync() can get us into infinite loop situations that 2006-02-22 06:12:53 +00:00
vm Lock the vm_object while checking its type to see if it is a vnode-backed 2006-02-21 22:09:54 +00:00
Makefile add nfsclient/, nfs4client/, and rpc/ directories to the 2006-01-10 20:58:27 +00:00