Re: [PATCH] Fix synaptics driver for PowerPro C 3:16

From: Vojtech Pavlik
Date: Tue Nov 11 2003 - 16:58:27 EST


On Tue, Nov 11, 2003 at 09:32:18PM +0100, Peter Osterlund wrote:
> 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?

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

> --- linux/drivers/input/mouse/synaptics.c.old 2003-11-11 20:41:15.000000000 +0100
> +++ linux/drivers/input/mouse/synaptics.c 2003-11-11 20:41:29.000000000 +0100
> @@ -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;
> }
>
> --
> Peter Osterlund - petero2@xxxxxxxxx
> http://w1.894.telia.com/~u89404340

--
Vojtech Pavlik
SuSE Labs, SuSE CR
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/