Messages in this thread | | | From | John Mock <> | Subject | test8: uhci-hcd fails after software suspend [Bug #1373] | Date | Sat, 18 Oct 2003 17:47:22 -0700 |
| |
On VAIO R505RE after software suspend (either flavor), USB controller seems to get hopelessly confused:
Debian GNU/Linux testing/unstable tvr-vaio tty1
tvr-vaio login: root Password: Last login: Sat Oct 18 14:53:29 2003 on tty1 Linux tvr-vaio 2.6.0-test8 #3 Sat Oct 18 10:51:09 PDT 2003 i686 GNU/Linux You have new mail. tvr-vaio:~# sync; echo 4b > /proc/acpi/sleep
[press power button] lilo: 2.6.0-test8 resume=/dev/hda7
drivers/usb/host/uhci-hcd.c: 1840: host controller halted. very bad hub 3-0:1.0: new USB device on port 1, assigned address 3 tvr-vaio:~# e100: eth0 NIC Link is Up 100 Mbps Full duplex drivers/usb/host/uhci-hcd.c: 1840: host controller halted. very bad drivers/usb/host/uhci-hcd.c: 1840: host controller halted. very bad drivers/usb/host/uhci-hcd.c: 1840: host controller halted. very bad drivers/usb/host/uhci-hcd.c: 1840: host controller halted. very bad drivers/usb/host/uhci-hcd.c: 1840: host controller halted. very bad usb 3-1: control timeout on ep0out drivers/usb/host/uhci-hcd.c: 1840: host controller halted. very bad drivers/usb/host/uhci-hcd.c: 1840: host controller halted. very bad drivers/usb/host/uhci-hcd.c: 1840: host controller halted. very bad usb 3-1: control timeout on ep0out
tvr-vaio:~# tvr-vaio:~# cat > /tmp/console.log
The relevant 'dmesg' and '.config' are contained in bugzilla:
http://bugzilla.kernel.org/show_bug.cgi?id=1373
The workaround is to 'rmmod uhci-hcd' in the hiberation script, but this isn't a great solution for something with a file system, like a digital camera.
'uhci-hcd.c' does attempt to handle suspend/resume, but that process may be buggy. I did make the bug seem to go away by commenting a few things out:
static int uhci_resume(struct usb_hcd *hcd) { struct uhci_hcd *uhci = hcd_to_uhci(hcd);
pci_set_master(uhci->hcd.pdev);
// if (uhci->state == UHCI_SUSPENDED) // uhci->resume_detect = 1; // else { reset_hc(uhci); start_hc(uhci); // } uhci->hcd.state = USB_STATE_RUNNING; return 0; }
Which merely suggests to me that the problem isn't intractable. When it awakens from hibernation, it indeed recognizes the Sony flash device and reassigns a SCSI address accordingly. So there may be hope...
-- JM - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |