Bug 4340

Summary: ohci_1394 module breaks S3 suspend (AE_TIME)
Product: ACPI Reporter: Stuart Prescott (bugzilla.kernel.org)
Component: Power-Sleep-WakeAssignee: Rafael J. Wysocki (rjwysocki)
Status: CLOSED PATCH_ALREADY_AVAILABLE    
Severity: normal CC: acpi-bugzilla, pierre-bugzilla
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.11 Subsystem:
Regression: --- Bisected commit-id:

Description Stuart Prescott 2005-03-14 19:07:13 UTC
Distribution: Debian Sarge + vanilla 2.6.11 kernel

Hardware Environment: HP/Compag nx7010 laptop

Software Environment: Hotplug managing device loading, suspend scripts as per
Documentation/power/video.txt (using vbetool). Kernel 2.6.11 config available from:
http://www.nanonanonano.net/linux/nx7010-rc/config-2.6.11-20050304-1-1glow

Problem Description:

With ohci_1394 loaded:

On coming back out of S3 suspend (either into text/console mode or chvt out and
back into X), the Synaptics Touchpad somehow believes it is a keyboard... moving
the touchpad moves the mouse (fairly erratically) and also generates lots of
keypress events. 

cat /dev/psaux still generates a stream of data. In console mode, there are lots
of atkbd.c error messages (unknown scan codes) and psmouse.c errors (lost sync).

Mar 14 18:39:08 zeno kernel: atkbd.c: Spurious ACK on isa0060/serio0. Some progr
am, like XFree86, might be trying access hardware directly.
Mar 14 18:39:09 zeno kernel: atkbd.c: Unknown key pressed (translated set 2, cod
e 0x0 on isa0060/serio0).
Mar 14 18:39:09 zeno kernel: atkbd.c: Use 'setkeycodes 00 <keycode>' to make it
known.

Mar 14 21:16:06 zeno kernel: Synaptics claims to have extended capabilities, but
 I'm not able to read them.<4>atkbd.c: Unknown key pressed (translated set 2, co
de 0x0 on isa0060/serio0).
Mar 14 21:16:06 zeno kernel: atkbd.c: Use 'setkeycodes 00 <keycode>' to make it
known.
Mar 14 21:16:06 zeno kernel: Synaptics Touchpad, model: 1
Mar 14 21:16:06 zeno kernel:  Firmware: 5.9
Mar 14 21:16:06 zeno kernel:  Sensor: 35
Mar 14 21:16:06 zeno kernel:  new absolute packet format
Mar 14 21:16:06 zeno kernel:  Touchpad has extended capability bits
Mar 14 21:16:06 zeno kernel:  -> multifinger detection
Mar 14 21:16:06 zeno kernel:  -> palm detection
Mar 14 21:16:06 zeno kernel: input: SynPS/2 Synaptics TouchPad on isa0060/serio4
Mar 14 21:16:06 zeno kernel: atkbd.c: Unknown key pressed (translated set 2, cod
e 0x0 on isa0060/serio0).
Mar 14 21:16:11 zeno kernel: psmouse.c: TouchPad at isa0060/serio4/input0 lost s
ync at byte 1
Mar 14 21:16:11 zeno last message repeated 3 times
Mar 14 21:16:11 zeno kernel: psmouse.c: TouchPad at isa0060/serio4/input0 - driv
er resynched.


Additionally, any query of the /proc/acpi/ tree generates ACPI method errors on
console and all ACPI events fail.

Mar 14 21:11:58 zeno kernel:     ACPI-0405: *** Error: Handler for [EmbeddedCont
rol] returned AE_TIME
Mar 14 21:11:58 zeno kernel:     ACPI-1138: *** Error: Method execution failed [
\_SB_.C046.C059.C0EA.C12C] (Node b1995ac0), AE_TIME
Mar 14 21:11:58 zeno kernel:     ACPI-1138: *** Error: Method execution failed [
\_SB_.C12C] (Node b19a44c0), AE_TIME
Mar 14 21:11:58 zeno kernel:     ACPI-1138: *** Error: Method execution failed [
\_SB_.C11F._BIF] (Node b19a43c0), AE_TIME



This behaviour is regardless of whether modules evdev, mosuedev, psmouse are
loaded or not at time of S3 suspend.


Without ohci_1394 loaded: S3 suspend works beautifully.... thank you kernel team!


Steps to reproduce:

Boot into emergency mode and run rcS.d events up to hotplug. 

Load modules that hotplug would have loaded one at a time, check S3 suspend each
time.

S3 works fine and the laptop comes back up with all modules up until ohci_1394
is loaded. Following modprobe ohci_1394 and an S3 cycle, the touchpad becomes
confused and ACPI events start generating lots of errors.




Temporary workaround:

blacklisting the ohci_1394 module for hotplug solves the problem... I can now
suspend without any problems. (And since I don't have any 1394 devices, that
doesn't worry me).



(Please feel free to ask for more tests, debugging output etc... )
Comment 1 Len Brown 2005-03-17 19:03:13 UTC
any luck if you apply the patch from bug #3851?
Comment 2 Andrew Morton 2005-05-25 15:59:58 UTC
Can we have a status update on this one please?  Is the bug still present in
2.6.12-rc5?  Was the patch to which Len refers tested?

Thanks.
Comment 3 Francois Munch 2005-05-31 09:08:47 UTC
kernel 2.6.12-rc5 and patch tested in bug #4371 without success
Comment 4 Pavel Machek 2005-06-04 09:18:37 UTC
Is firewire interrupt shared with input or something like that?

...well, firewire completely lacks suspend/resume support (IIRC). What needs to
be done is to write suspend/resume routines, similar to insmod/rmmod. I don't
think we can fix this for 2.6.12.
Comment 5 Pavel Machek 2005-06-04 09:23:38 UTC
*** Bug 4371 has been marked as a duplicate of this bug. ***
Comment 6 Len Brown 2005-08-17 12:13:02 UTC
still an issue in 2.6.13?
Comment 7 Pierre Ossman 2005-08-18 11:59:37 UTC
Behaviour is now identical to that of applying the patch in bug 3851 (i.e.
battery  disappears).
Comment 8 Rafael J. Wysocki 2006-09-28 16:28:57 UTC
Please reopen if the problem is present in recent kernels (2.6.18 or later).