Hello all A while back there was quite a discussion on this issue and then specifically "i8042 timing issues". I refer you to http://lkml.org/lkml/2005/1/27/11 for more detail. It turns out that it was the case that the i8042 controller responds too late on commands, for example, we issue a AUX_LOOP command, whilst waiting for the response it would time out, however, when issuing AUX_TEST we will get the response for AUX_LOOP. It turns out this is also true for the MUX and KBD parts of the driver. The attached patch resolves this issue by providing a configurable option to issue commands that expects results twice (not sure whether this is a good idea - but it seems all commands either set some value or query some value). Between the two commands it calls i8042_flush() to make sure that there are not any earlier responses in the buffer. I've built the patch against linux-2.6.11.6 and it should apply cleanly (I've attached the patch cause it is about 80 lines in length and I fear mozilla will break the formatting). The patch fixes the problem for me - not sure how many other people out there has the same issue. It provides a configurable option which can be selected in the kernel configuration to actually enable this (albeit enabling it should only result in a minor performance hit should it be enabled needlessly - I think). Should the option not be enabled the code remains 100% unchanged (except for one extra level of indentation). I'm not sure what the policy regarding #ifdefs are, especially considering they enclose the endpoints of a loop, please review and comment. Jaco -- There are only 10 kinds of people in this world, those that understand binary and those that don't. http://www.kroon.co.za/