From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040124 Galeon/1.3.12 Description of problem: On my Thinkpad R40, issuing a suspend and resume (apm -s) causes the USB bus to become totally unresponsive. By unresponsive, I mean none of the devices plugged into it will respond any longer and no new devices will even be recognized (i.e. dmesg reports absolutely nothing when a new device is plugged in). Removing and reloading uhci_hcd and echi_hcd does not fix this problem. From reading kernel mailing lists, I suspect this has something to do with USB devices not being removed before a suspend, making it impossible to use USB after the root hub has lost power. Also after a suspend, any programs that use the xv device to write to the screen won't be able to (example, xine using the xv device produces only sound and a blank video window). Restarting xorg fixes this. Version-Release number of selected component (if applicable): 2.6.5-1.327, 2.6.5-1.358 How reproducible: Always Steps to Reproduce: 1. Put laptop into suspend 2. Try to use USB device or a program that uses the xv driver 3. Notice dmesg doesn't echo ANY USB-related events Actual Results: USB devices should continue to work, the xv driver should work without having to restart X. Expected Results: USB devices (including root hub) don't work, xv driver is unresponsive. Additional info:
A side note, I am using APM rather than ACPI because almost no power management functions work with ACPI on this machine.
Created attachment 100236 [details] The patch to /etc/sysconfig/apmd RESUMEUSB should probably be set to "no" by default.
Created attachment 100237 [details] Patch for /etc/sysconfig/apm-scripts/apmscript to remove and re-add all usb modules if necessary for a suspend/resume.
Okay, I found out that if I remove all usb modules before the suspend, and then modprobe them again after the suspend, everything is okay... I made the appropriate changes to /etc/sysconfig/apmd and /etc/sysconfig/apm-scripts/apmscript. Attached are the patches that allow apmd to remove and re-add USB devices on suspend/resume.
an interesting bit of info would be to get lspci -vxxx output before and after the suspend (in the broken setup) to see if there is part of that that doesn't get restored (and if so we can probably do that by hand :)
Created attachment 100248 [details] lspci -vxxx before suspend
Created attachment 100249 [details] lspci -vxxx after resume
Created attachment 100250 [details] patch to /etc/sysconfig/apm-scripts/apmscript that adds support for removing/re-adding USB modules This fixes a stupid typo in the first one
from your lspci's: - Flags: bus master, medium devsel, latency 0, IRQ 11 + Flags: medium devsel, IRQ 11 ok that is very informative; the bios disables bus master on the USB controller (and there are some other changes too). This sounds like something we can work around by restoring the busmaster status of devices inside the kernel.
any improvement with the 2.6.9 kernel ?
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.