From: Peter Osterlund Made the packet checking code less strict, so that the driver works also for touchpads that don't strictly follow the synaptics absolute protocol. Problem reported by Anders Kaseorg using a PowerPro C 3:16 laptop. drivers/input/mouse/synaptics.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN drivers/input/mouse/synaptics.c~synaptics-powerpro-fix drivers/input/mouse/synaptics.c --- 25/drivers/input/mouse/synaptics.c~synaptics-powerpro-fix 2003-11-26 15:16:55.000000000 -0800 +++ 25-akpm/drivers/input/mouse/synaptics.c 2003-11-26 15:16:55.000000000 -0800 @@ -599,7 +599,7 @@ static void synaptics_process_packet(str static int synaptics_validate_byte(struct psmouse *psmouse) { - static unsigned char newabs_mask[] = { 0xC8, 0x00, 0x00, 0xC8, 0x00 }; + static unsigned char newabs_mask[] = { 0xC0, 0x00, 0x00, 0xC0, 0x00 }; static unsigned char newabs_rslt[] = { 0x80, 0x00, 0x00, 0xC0, 0x00 }; static unsigned char oldabs_mask[] = { 0xC0, 0x60, 0x00, 0xC0, 0x60 }; static unsigned char oldabs_rslt[] = { 0xC0, 0x00, 0x00, 0x80, 0x00 }; _