Red Hat Bugzilla – Bug 123252
USB bus stops responding and radeon xv problems after APM suspend/resume
Last modified: 2015-01-04 17:05:53 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6)
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
Version-Release number of selected component (if applicable):
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.
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
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.