Keyboard lockup fixed! (Re: keyboard loss in DF)

Matthew Dillon dillon at apollo.backplane.com
Thu Dec 16 00:35:57 PST 2004


    I believe I have fixed the problem.  I would like to thank everyone who
    submitted bug reports on this issue!  The reports were invaluable and I
    believe I was able to find the problem.

    Basically the problem is that the keyboard interrupt is edge-triggered,
    a left-over from the early PC days.  Due to this it is possible for an
    interrupt to be 'lost' and create a situation where no new interrupt
    occurs.

    The keyboard driver has a 10hz poll routine to detect the lost interrupt
    and get things moving again.  Callout timer work I did in September
    broke the poll routine.  Without a working poll routine the keyboard 
    can basically stop working under certain latency-related conditions.

    I would like everyone who reported problems to update their kernels,
    make sure you have /usr/src/sys/dev/misc/kbd/kbd.c rev 1.14, and retest.

						-Matt






More information about the Bugs mailing list