I'm a novice so if this is useful then great; if not then please ignore
My Synaptics Touchpad was working great until kernel 2.6.18 (i think) when it suddenly stopped. By doing a diff on the source code and commenting out the changes in turn, I found that I can get the Touchpad working again by commenting out the following lines of the code in the file drivers/input/serio/i8042.c.
if (wait_for_completion_timeout(&i8042_aux_irq_delivered,
msecs_to_jiffies(250)) == 0) {
/*
* AUX IRQ was never delivered so we need to flush the controller to
* get rid of the byte we put there; otherwise keyboard may not work.
*/
i8042_flush();
retval = -1;
}
It seems wait_for_completion_timeout fails and therefore the retval = -1 (i.e. fail). I do not understand why this fails or what this code does but the Touchpad seems fine with commenting out these lines and I have not noticed any other problems.
I'm a novice so if this is useful then great; if not then please ignore
My Synaptics Touchpad was working great until kernel 2.6.18 (i think) when it suddenly stopped. By doing a diff on the source code and commenting out the changes in turn, I found that I can get the Touchpad working again by commenting out the following lines of the code in the file drivers/ input/serio/ i8042.c.
if (wait_for_ completion_ timeout( &i8042_ aux_irq_ delivered, to_jiffies( 250)) == 0) {
msecs_
/*
* AUX IRQ was never delivered so we need to flush the controller to
* get rid of the byte we put there; otherwise keyboard may not work.
*/
i8042_flush();
retval = -1;
}
It seems wait_for_ completion_ timeout fails and therefore the retval = -1 (i.e. fail). I do not understand why this fails or what this code does but the Touchpad seems fine with commenting out these lines and I have not noticed any other problems.
P.S. I'm using AMD64