Bug 14747

Summary: bisected 2.6.32 regression: synaptics touchpad doesn't work
Product: ACPI Reporter: François Valenduc (francoisvalenduc)
Component: ECAssignee: Alexey Starikovskiy (astarikovskiy)
Status: CLOSED PATCH_ALREADY_AVAILABLE    
Severity: high CC: astarikovskiy, dmitry.torokhov, lenb, rjw, rui.zhang
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.32 Tree: Mainline
Regression: Yes
Bug Depends on:    
Bug Blocks: 14230    
Attachments: output of dmesg with kernel 2.6.32
Put back udelay at transaction start
output of dmesg with kernel 2.6.32 and additional patches
dmesg with debugging enabled in ec.c
dmesg with debugging enabled in ec.c and patch from bug #14858
accelerate query execution #2
output of acpidump
dmesg with debugging enabled in ec.c
dmesg with debugging enabled in ec.c
accelerate query execution #3
accelerate query execution #4
dmesg with debugging enabled in ec.c and patch from comment #22
add some sleep

Description François Valenduc 2009-12-06 11:16:36 UTC
With kernel 2.6.32, my touchpad which uses the synaptics driver doesn't work. I get these messages in dmesg:

[   69.125135] psmouse.c: TouchPad at isa0060/serio4/input0 lost synchronization, throwing 1 bytes away.
[   69.634740] psmouse.c: resync failed, issuing reconnect request

The problem already occurs in 2.6.32-rc1. With kernel 2.6.31, it works correctly.
I have tried several git-bisect runs but until now, I didn't find anything really conclusive.

Thanks for your help.
Comment 1 François Valenduc 2009-12-06 16:28:56 UTC
After a new git bisect run, it appears that the first bad commit is the following:

commit 2a84cb9852f52c0cd1c48bca41a8792d44ad06cc
Author: Alexey Starikovskiy <astarikovskiy@suse.de>
Date:   Sun Aug 30 03:06:14 2009 +0400

    ACPI: EC: Merge IRQ and POLL modes

I have tried to revert it to confirm that it was the correct commit but it's not possible to do so.
Comment 2 François Valenduc 2009-12-12 10:01:46 UTC
Does nobody has any idea on this very annoying problem ?
Comment 3 François Valenduc 2009-12-18 17:43:56 UTC
This bug has been opened around 2 weeks ago and I didn't get any help on this. Does somebody really looks at this one ?
Comment 4 Alexey Starikovskiy 2009-12-18 18:02:08 UTC
What machine do you have?
Comment 5 François Valenduc 2009-12-18 18:09:57 UTC
My computer is an ACER Travelmate 4001 with an Intel Centrino. Here is the output of lspci:

00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to AGP Controller (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
01:00.0 VGA compatible controller: ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]
02:02.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)
02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)
02:06.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
02:06.2 FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller
02:06.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller
Comment 6 François Valenduc 2009-12-18 18:14:42 UTC
Created attachment 24226 [details]
output of dmesg with kernel 2.6.32

I also send the result of dmesg in case you need it.
Comment 7 Alexey Starikovskiy 2009-12-18 18:25:24 UTC
Could you please check if the last patch from bug #14446 helps?
Comment 8 Alexey Starikovskiy 2009-12-18 18:53:34 UTC
Created attachment 24228 [details]
Put back udelay at transaction start 

Please check one more patch.
Comment 9 François Valenduc 2009-12-18 19:14:38 UTC
Created attachment 24229 [details]
output of dmesg with kernel 2.6.32 and additional patches

Unfortunately, the 2 patches you proposed don't solve the problem. It seems the touchpad is now detected:

[   12.261028] Synaptics claims to have extended capabilities, but I'm not able to read them.
[   12.824962] Synaptics Touchpad, model: 1, fw: 5.9, id: 0x126eb1, caps: 0xa04713/0x0
[   12.866729] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio4/input/input4

Furthermore, the synchronisation problem still occurs:
[   58.427180] psmouse.c: TouchPad at isa0060/serio4/input0 lost synchronization, throwing 1 bytes away.
[   58.941246] psmouse.c: resync failed, issuing reconnect request
Comment 10 Alexey Starikovskiy 2009-12-24 11:43:28 UTC
Could you please uncomment "#define DEBUG" at the beginning of drivers/acpi/ec.c and attach dmesg?
Comment 11 François Valenduc 2009-12-24 15:29:41 UTC
Created attachment 24291 [details]
dmesg with debugging enabled in ec.c

So here is the dmesg output you asked for.
Comment 12 Alexey Starikovskiy 2009-12-24 15:51:50 UTC
Could you please check if last patch from this bug reports helps:
http://bugzilla.kernel.org/show_bug.cgi?id=14858
Comment 13 François Valenduc 2009-12-24 16:05:53 UTC
Created attachment 24297 [details]
dmesg with debugging enabled in ec.c and patch from bug #14858

Unfortunately, this last patch doesn't solve the problem. In case you need it, I have attached a new dmesg output.
Comment 14 Alexey Starikovskiy 2009-12-24 16:29:18 UTC
Could you please post acpidump output?
Comment 15 Alexey Starikovskiy 2009-12-24 18:09:52 UTC
Created attachment 24299 [details]
accelerate query execution #2

please check if this patch is any better than #14858
Comment 16 François Valenduc 2009-12-25 09:50:46 UTC
Created attachment 24304 [details]
output of acpidump

This last patch doesn't solve the problem too. As you have asked, I also send the output of acpidump.
Comment 17 Alexey Starikovskiy 2009-12-25 15:10:18 UTC
Could you please also attach dmesg with the last patch applied?
Comment 18 François Valenduc 2009-12-25 15:26:01 UTC
Created attachment 24306 [details]
dmesg with debugging enabled in ec.c 

So here is the dmesg output with debugging enabled in ec.c. Do you also want a "normal" dmesg ?
Comment 19 Alexey Starikovskiy 2009-12-25 15:54:35 UTC
Are you sure that this dmesg is from kernel with patch from comment #15 applied?
It looks more like plain 2.6.32 with DEBUG enabled...
Comment 20 François Valenduc 2009-12-25 16:05:27 UTC
Created attachment 24307 [details]
dmesg with debugging enabled in ec.c

I indeed attached the wrong file. This new output is the correct dmesg output with the last patch applied.
Comment 21 Alexey Starikovskiy 2009-12-26 00:28:01 UTC
Created attachment 24309 [details]
accelerate query execution #3

please check one more patch. please post a dmesg with debug enabled.
Comment 22 Alexey Starikovskiy 2009-12-26 08:30:45 UTC
Created attachment 24310 [details]
accelerate query execution #4

broken patch
Comment 23 François Valenduc 2009-12-26 08:43:13 UTC
Created attachment 24311 [details]
dmesg with debugging enabled in ec.c and patch from comment #22

The problem still occurs with this last patch. Furthermore, are the 2 first patches (fix msi detection and put back udelay) still needed ?
Comment 24 Alexey Starikovskiy 2009-12-27 00:41:50 UTC
Created attachment 24317 [details]
add some sleep

please add this on top of #4
Comment 25 François Valenduc 2009-12-27 16:45:28 UTC
It finally works with the latest patch from comment #24. It's even still working if I revert the patch which puts back udelay (from comment #8).

Thanks a lot for your help.
Comment 26 Rafael J. Wysocki 2010-01-11 19:54:35 UTC
Handled-By : Alexey Starikovskiy <astarikovskiy@suse.de>
Patch : http://bugzilla.kernel.org/attachment.cgi?id=24317
Comment 27 Len Brown 2010-01-16 07:46:42 UTC
patch in comment #24 is in acpi-test tree
Comment 28 François Valenduc 2010-01-16 08:06:39 UTC
Thanks, but the patch in comment #22 is also needed.
Comment 29 François Valenduc 2010-01-16 08:14:28 UTC
I have checked and it seems that you in fact took the patch from comment #22, but the patch from comment #24 is also needed to make my touchpad work.
Comment 30 Len Brown 2010-01-23 19:25:25 UTC
The patch from comment #22

commit a62e8f1978f49e52f87a711ff6711b323d4b12ff
Author: Alexey Starikovskiy <astarikovskiy@suse.de>
Date:   Thu Dec 24 11:34:16 2009 +0300

    ACPI: EC: Accelerate query execution

and the patch from comment #24

commit 54070101f86ca9a6e9ba243c999d144721ec3db7
Author: Alexey Starikovskiy <astarikovskiy@suse.de>
Date:   Wed Dec 30 15:53:10 2009 +0300

    ACPI: EC: Add wait for irq storm

both shipped in Linux-2.6.33-rc5
closed