From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040510 Description of problem: I can suspend and resume my IBM ThinkPad A31p by just doing: echo 3 >/proc/acpi/sleep Unfortunately, when the laptop resumes from suspend, 5-6 seconds after, USB dies. I can move my USB mouse around during those seconds but then it stops moving once the USB dies. I get the following messages in my /var/log/messages Aug 8 07:18:51 localhost kernel: uhci_hcd 0000:00:1d.0: remove, state 1 Aug 8 07:18:51 localhost kernel: usb usb1: USB disconnect, address 1 Aug 8 07:18:51 localhost kernel: uhci_hcd 0000:00:1d.0: USB bus 1 deregistered Aug 8 07:18:51 localhost kernel: uhci_hcd 0000:00:1d.1: remove, state 1 Aug 8 07:18:51 localhost kernel: usb usb2: USB disconnect, address 1 Aug 8 07:18:51 localhost kernel: usb 2-1: USB disconnect, address 2 Aug 8 07:18:51 localhost kernel: uhci_hcd 0000:00:1d.1: USB bus 2 deregistered Aug 8 07:18:51 localhost kernel: uhci_hcd 0000:00:1d.2: remove, state 1 Aug 8 07:18:51 localhost kernel: usb usb3: USB disconnect, address 1 Aug 8 07:18:52 localhost kernel: uhci_hcd 0000:00:1d.2: USB bus 3 deregistered Aug 8 07:19:14 localhost kernel: Stopping tasks: ============================================================| Aug 8 07:19:14 localhost kernel: zapping low mappings. Aug 8 07:19:14 localhost kernel: ACPI: PCI interrupt 0000:00:1d.0[A] -> GSI 11 (level, low) -> IRQ 11 Aug 8 07:19:14 localhost kernel: ACPI: PCI interrupt 0000:00:1d.1[B] -> GSI 11 (level, low) -> IRQ 11 Aug 8 07:19:14 localhost kernel: ACPI: PCI interrupt 0000:00:1d.2[C] -> GSI 11 (level, low) -> IRQ 11 Aug 8 07:19:14 localhost kernel: ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 11 (level, low) -> IRQ 11 Aug 8 07:19:14 localhost kernel: ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 5 (level, low) -> IRQ 5 Aug 8 07:19:15 localhost kernel: e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex Aug 8 07:19:15 localhost kernel: Restarting tasks... done Aug 8 07:19:15 localhost kernel: agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0. Aug 8 07:19:15 localhost kernel: agpgart: Putting AGP V2 device at 0000:00:00.0 into 1x mode Aug 8 07:19:15 localhost kernel: agpgart: Putting AGP V2 device at 0000:01:00.0 into 1x mode Aug 8 07:19:14 localhost gpm[1901]: *** info [mice.c(1766)]: Aug 8 07:19:15 localhost gpm[1901]: imps2: Auto-detected intellimouse PS/2 Aug 8 07:19:15 localhost kernel: USB Universal Host Controller Interface driver v2.2 Aug 8 07:19:15 localhost kernel: ACPI: PCI interrupt 0000:00:1d.0[A] -> GSI 11 (level, low) -> IRQ 11 Aug 8 07:19:15 localhost kernel: uhci_hcd 0000:00:1d.0: UHCI Host Controller Aug 8 07:19:15 localhost kernel: uhci_hcd 0000:00:1d.0: irq 11, io base 00001800 Aug 8 07:19:15 localhost kernel: uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1 Aug 8 07:19:15 localhost kernel: hub 1-0:1.0: USB hub found Aug 8 07:19:15 localhost kernel: hub 1-0:1.0: 2 ports detected Aug 8 07:19:15 localhost kernel: ACPI: PCI interrupt 0000:00:1d.1[B] -> GSI 11 (level, low) -> IRQ 11 Aug 8 07:19:15 localhost kernel: uhci_hcd 0000:00:1d.1: UHCI Host Controller Aug 8 07:19:15 localhost kernel: uhci_hcd 0000:00:1d.1: irq 11, io base 00001820 Aug 8 07:19:15 localhost kernel: uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2 Aug 8 07:19:15 localhost kernel: hub 2-0:1.0: USB hub found Aug 8 07:19:15 localhost kernel: hub 2-0:1.0: 2 ports detected Aug 8 07:19:15 localhost kernel: ACPI: PCI interrupt 0000:00:1d.2[C] -> GSI 11 (level, low) -> IRQ 11 Aug 8 07:19:15 localhost kernel: uhci_hcd 0000:00:1d.2: UHCI Host Controller Aug 8 07:19:16 localhost kernel: uhci_hcd 0000:00:1d.2: irq 11, io base 00001840 Aug 8 07:19:16 localhost kernel: uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3 Aug 8 07:19:16 localhost kernel: hub 3-0:1.0: USB hub found Aug 8 07:19:16 localhost kernel: hub 3-0:1.0: 2 ports detected Aug 8 07:19:16 localhost kernel: usb 2-1: new low speed USB device using address 2 Aug 8 07:19:22 localhost kernel: usb 2-1: control timeout on ep0in Aug 8 07:19:27 localhost kernel: usb 2-1: control timeout on ep0out Aug 8 07:19:32 localhost kernel: usb 2-1: control timeout on ep0out Aug 8 07:19:32 localhost kernel: usb 2-1: device not accepting address 2, error -110 Aug 8 07:19:32 localhost kernel: usb 2-1: new low speed USB device using address 3 Aug 8 07:19:37 localhost kernel: usb 2-1: control timeout on ep0out Aug 8 07:19:43 localhost kernel: usb 2-1: control timeout on ep0out Aug 8 07:19:43 localhost kernel: usb 2-1: device not accepting address 3, error -110 As you can see from the messages, i've tried to 'rmmod uhci_hcd' before i suspend and then 'modprobe uhci_hcd' after i resume. Unfortunately that had no effect, USB still dies, probably due to IRQ errors. I've also tried to rmmod and modprobe the driver after suspend for a few times which got me a nice kernel oops and a freeze :] Version-Release number of selected component (if applicable): kernel-2.6.7-1.494.2.2 How reproducible: Always Steps to Reproduce: 1. boot FC2 on an A31p 2. suspend via ACPI: echo 3 >/proc/acpi/sleep 3. resume and wait a few seconds for USB to die Actual Results: USB dies. Expected Results: USB works? Additional info: Hardware: IBM ThinkPad A31p 1 gig ram 80 gig hdd 2xDVD drives ATI FireGL 7800 M7 Intel Pentium 4 2.0ghz Software: Fedora Core 2 kernel 2.6.7-1.494.2.2
Fedora Core 2 has now reached end of life, and no further updates will be provided by Red Hat. The Fedora legacy project will be producing further kernel updates for security problems only. If this bug has not been fixed in the latest Fedora Core 2 update kernel, please try to reproduce it under Fedora Core 3, and reopen if necessary, changing the product version accordingly. Thank you.
This problem remains in FC2 and FC3 latest kernels. No change.
An update has been released for Fedora Core 3 (kernel-2.6.12-1.1372_FC3) which may contain a fix for your problem. Please update to this new kernel, and report whether or not it fixes your problem. If you have updated to Fedora Core 4 since this bug was opened, and the problem still occurs with the latest updates for that release, please change the version field of this bug to 'fc4'. Thank you.
Here is the output that i get from FC4: Aug 6 11:27:42 thinkpad logger: ACPI: Sleep button pressed Aug 6 11:28:04 thinkpad kernel: Stopping tasks: ==========================================================================| Aug 6 11:28:04 thinkpad kernel: Debug: sleeping function called from invalid context at mm/slab.c:2126 Aug 6 11:28:04 thinkpad kernel: in_atomic():0, irqs_disabled():1 Aug 6 11:28:04 thinkpad kernel: [<c015c376>] kmem_cache_alloc+0x3c/0x49 Aug 6 11:28:04 thinkpad kernel: [<c0248562>] acpi_pci_link_set+0x3f/0x17f Aug 6 11:28:04 thinkpad kernel: [<c02489ac>] irqrouter_resume+0x14/0x28 Aug 6 11:28:04 thinkpad kernel: [<c0287c5e>] sysdev_resume+0x3d/0xb5 Aug 6 11:28:04 thinkpad kernel: [<c028bd57>] device_power_up+0x5/0xa Aug 6 11:28:04 thinkpad kernel: [<c014a8cb>] suspend_enter+0x44/0x46 Aug 6 11:28:04 thinkpad kernel: [<c014a859>] suspend_prepare+0x57/0x85 Aug 6 11:28:04 thinkpad kernel: [<c014a93e>] enter_state+0x49/0x54 Aug 6 11:28:04 thinkpad hal.hotplug[2611]: DEVPATH is not set (subsystem input) Aug 6 11:28:04 thinkpad kernel: [<c0245a26>] acpi_system_write_sleep+0x5a/0x6c Aug 6 11:28:04 thinkpad kernel: [<c02459cc>] acpi_system_write_sleep+0x0/0x6c Aug 6 11:28:05 thinkpad kernel: [<c017b9e4>] vfs_write+0x9e/0x110 Aug 6 11:28:05 thinkpad kernel: [<c017bb01>] sys_write+0x41/0x6a Aug 6 11:28:05 thinkpad kernel: [<c0103a51>] syscall_call+0x7/0xb Aug 6 11:28:05 thinkpad kernel: hub 2-0:1.0: resubmit --> -108 Aug 6 11:28:05 thinkpad kernel: hub 3-0:1.0: resubmit --> -108 Aug 6 11:28:05 thinkpad kernel: hub 1-0:1.0: resubmit --> -108 Aug 6 11:28:05 thinkpad kernel: PCI: Enabling device 0000:00:1d.0 (0000 -> 0001) Aug 6 11:28:05 thinkpad kernel: ACPI: PCI Interrupt 0000:00:1d.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11 Aug 6 11:28:05 thinkpad kernel: PCI: Enabling device 0000:00:1d.1 (0000 -> 0001) Aug 6 11:28:05 thinkpad kernel: ACPI: PCI Interrupt 0000:00:1d.1[B] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11 Aug 6 11:28:05 thinkpad kernel: PCI: Enabling device 0000:00:1d.2 (0000 -> 0001) Aug 6 11:28:05 thinkpad kernel: ACPI: PCI Interrupt 0000:00:1d.2[C] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11 Aug 6 11:28:05 thinkpad kernel: ACPI: PCI Interrupt 0000:00:1f.1[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11 Aug 6 11:28:05 thinkpad kernel: ACPI: PCI Interrupt 0000:00:1f.5[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5 Aug 6 11:28:06 thinkpad kernel: ACPI: PCI Interrupt 0000:00:1f.6[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5 Aug 6 11:28:06 thinkpad kernel: ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11 Aug 6 11:28:06 thinkpad kernel: ACPI: PCI Interrupt 0000:02:00.2[C] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11 Aug 6 11:28:06 thinkpad kernel: e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex Aug 6 11:28:06 thinkpad logger: ACPI: Wake up from sleep mode Aug 6 11:28:06 thinkpad kernel: Restarting tasks... done Aug 6 11:28:06 thinkpad kernel: usb 2-2: USB disconnect, address 2 Aug 6 11:28:06 thinkpad kernel: agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0. Aug 6 11:28:06 thinkpad kernel: agpgart: Putting AGP V2 device at 0000:00:00.0 into 4x mode Aug 6 11:28:06 thinkpad kernel: agpgart: Putting AGP V2 device at 0000:01:00.0 into 4x mode Aug 6 11:30:47 thinkpad sshd(pam_unix)[2651]: session opened for user sehh by (uid=0) Aug 6 11:30:49 thinkpad su(pam_unix)[2674]: session opened for user root by (uid=500)
re comment #4: that's the same as bug 154046 acpi_pci_link_set() issue
Weird. The bug 154046 says that the problem was solved in kernel 2.6.12-1.1398 (FC4). Unfortunately, thats what i'm using and the bug still exists for me.
That is weird... Looking at the code it seems like the bug is still present in 2.6.12-1.1398. irqrouter_resume() is called with interrupts off. irqrouter_resume => acpi_pci_link_resume => acpi_pci_link_set => kmalloc => BOOM!
As of kernel 2.6.12-1.1447_FC4, i no longer have a "/proc/acpi/sleep" thus, can't even initiate a sleep process :( (IBM ThinkPad A31p)
Mass update to all FC4 bugs: An update has been released (2.6.13-1.1526_FC4) which rebases to a new upstream kernel (2.6.13.2). As there were ~3500 changes upstream between this and the previous kernel, it's possible your bug has been fixed already. Please retest with this update, and update this bug if necessary. Thanks.
Installed kernel 2.6.13-1.1526_FC4 and USB now works after suspend/resume. We may close this bug.