cvs commit: src/sys/dev/kbdmux kbdmux.c

Scott Long scottl at samsco.org
Sat Feb 25 14:04:42 PST 2006


Maksim Yevmenkin wrote:
> emax        2006-02-25 21:59:29 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/dev/kbdmux       kbdmux.c 
>   Log:
>   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
>   
>   Revision  Changes    Path
>   1.4       +1 -1      src/sys/dev/kbdmux/kbdmux.c

So what do we need to do to get this enabled and running by default and
get rid of the USB keyboard hack in the loader, as well as make the
keyboard flags sane and predictable?

Scott


More information about the cvs-all mailing list