Skip to contentSkip to conversation

Fix synaptics driver for PowerPro C 3:16

PATCH In review Peter Osterlund 2 participants 2 messages Nov 11, 2003 Input drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix synaptics driver for PowerPro C 3:16

Hi!

A user reported that the synaptics touchpad driver didn't work on his PowerPro C 3:16 laptop. Some debugging revealed that the patch below is necessary to make the driver compatible with his touchpad.

For some reason bit 3 in byte 1 and 4 in the synaptics packets are set to 1, which fails because the driver follows the documentation which says that the bit is 0.

Hardware properties: (reported by synclient -h)

     Model Id     = 009d48b1
     Capabilities = 00904713
     Identity     = 00084715

With this patch, the touchpad works as expected. As far as I can see, this patch can not break anything for other touchpads, so it should be safe. Does anyone see a problem with this patch?

drivers/input/mouse/synaptics.c renamed from drivers/input/mouse/synaptics.c.old +2 -2
@@ -581,7 +581,7 @@
 
 	switch (psmouse->pktcnt) {
 	case 1:
-		if (newabs ? ((data & 0xC8) != 0x80) : ((data & 0xC0) != 0xC0)) {
+		if (newabs ? ((data & 0xC0) != 0x80) : ((data & 0xC0) != 0xC0)) {
 			printk(KERN_WARNING "Synaptics driver lost sync at 1st byte\n");
 			goto bad_sync;
 		}
@@ -593,7 +593,7 @@
 		}
 		break;
 	case 4:
-		if (newabs ? ((data & 0xC8) != 0xC0) : ((data & 0xC0) != 0x80)) {
+		if (newabs ? ((data & 0xC0) != 0xC0) : ((data & 0xC0) != 0x80)) {
 			printk(KERN_WARNING "Synaptics driver lost sync at 4th byte\n");
 			goto bad_sync;
 		}
Signature · 2 lines
Peter Osterlund - [email protected]
http://w1.894.telia.com/~u89404340
#1 lore raw
Quoted 10 lines · Peter Osterlund

Hi!

A user reported that the synaptics touchpad driver didn't work on his PowerPro C 3:16 laptop. Some debugging revealed that the patch below is necessary to make the driver compatible with his touchpad.

For some reason bit 3 in byte 1 and 4 in the synaptics packets are set to 1, which fails because the driver follows the documentation which says that the bit is 0.

Quoted 8 lines

Hardware properties: (reported by synclient -h)

     Model Id     = 009d48b1
     Capabilities = 00904713
     Identity     = 00084715

With this patch, the touchpad works as expected. As far as I can see, this patch can not break anything for other touchpads, so it should be safe. Does anyone see a problem with this patch?

I think this could help some Dell laptops as well (also always reporting lost sync). Good.

Quoted 24 lines
drivers/input/mouse/synaptics.c renamed from drivers/input/mouse/synaptics.c.old +2 -2
@@ -581,7 +581,7 @@
 
 	switch (psmouse->pktcnt) {
 	case 1:
-		if (newabs ? ((data & 0xC8) != 0x80) : ((data & 0xC0) != 0xC0)) {
+		if (newabs ? ((data & 0xC0) != 0x80) : ((data & 0xC0) != 0xC0)) {
 			printk(KERN_WARNING "Synaptics driver lost sync at 1st byte\n");
 			goto bad_sync;
 		}
@@ -593,7 +593,7 @@
 		}
 		break;
 	case 4:
-		if (newabs ? ((data & 0xC8) != 0xC0) : ((data & 0xC0) != 0x80)) {
+		if (newabs ? ((data & 0xC0) != 0xC0) : ((data & 0xC0) != 0x80)) {
 			printk(KERN_WARNING "Synaptics driver lost sync at 4th byte\n");
 			goto bad_sync;
 		}
Signature · 3 lines
-- 
Peter Osterlund - [email protected]
http://w1.894.telia.com/~u89404340
Signature · 2 lines
Vojtech Pavlik
SuSE Labs, SuSE CR