The following reply was made to PR usb/173722; it has been noted by GNATS. From: Hans Petter Selasky <hsela...@c2i.net> To: Florian Jung <florian.a.j...@web.de> Cc: email@example.com, freebsd-gnats-sub...@freebsd.org Subject: Re: usb/173722: XHCI driver bug after suspend to ram (ACPI S3 mode) Date: Mon, 19 Nov 2012 20:52:35 +0100
On Monday 19 November 2012 20:21:47 Florian Jung wrote: > Am 19.11.2012 19:21, schrieb Hans Petter Selasky: > > On Monday 19 November 2012 16:36:45 Florian Jung wrote: > >>> Number: 173722 > >>> Category: usb > >>> Synopsis: XHCI driver bug after suspend to ram (ACPI S3 mode) > >>> Confidential: no > >>> Severity: non-critical > >>> Priority: low > >>> Responsible: freebsd-usb > >>> State: open > >>> Quarter: > >>> Keywords: > >>> Date-Required: > >>> Class: sw-bug > >>> Submitter-Id: current-users > >>> Arrival-Date: Mon Nov 19 15:40:00 UTC 2012 > >>> Closed-Date: > >>> Last-Modified: > >>> Originator: Florian Jung > >>> Release: 9.0-RELEASE-p3 > >>> Organization: > >> > >>> Environment: > >> FreeBSD beastie 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Tue Jun 12 > >> 02:52:29 UTC 2012 > >> r...@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 > >> > >>> Description: > >> After entering and waking up from suspend to ram aka ACPI S3 state, the > >> dmesg get flooded with "xhci_interrupt: host controller halted", and my > >> USB3.0 device stops working. > >> > >> (It is a external hard disk drive, and the device node just vanished and > >> won't re-appear) > >> > >> My USB2.0 and 1.x devices however do still work. > >> > >> It seems that i can provoke the generation of these "xhci_interrupt: > >> host controller halted" messages by typing on my USB-2.0-Keyboard or by > >> moving my USB-2.0-Mouse. > >> > >>> How-To-Repeat: > >> - Start up FreeBSD > >> - Plug in USB3.0 Harddisk > >> - It will work. > >> - sudo acpiconf -S 3 > >> - re-awake the computer > >> - ls /dev/ tells you that the harddisk is gone > >> - dmesg tells you the "xhci_interrupt: host controller halted" messages. > >> - replug the harddisk > >> - it still does not work. > > > > If you unplug the harddisk before the suspend, does it work afterwards > > then? > > > > --HPS > > No, that causes the same problem. > I don't even need to attach it: boot freebsd, enter acpi s3, wake up, > and then plug in the disk leads to the same problem. > > i have found out that compiling XHCI has loadable module, and unloading > it before suspend and re-loading it afterwards solves the problem. > > the "xhci_interrupt: host controller halted"-messages don't appear, and > i can use my harddisk afterwards. > > looks like xhci is failing to reinitalize properly after suspend? > > greetings, > flo Hi, Do you have a USB 3.0 compatible BIOS? I think we might need to halt the XHCI as part of the resume process. Can you try this patch: diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c index 756b1ed..576ed71 100644 --- a/sys/dev/usb/controller/xhci.c +++ b/sys/dev/usb/controller/xhci.c @@ -578,6 +578,8 @@ xhci_set_hw_power_sleep(struct usb_bus *bus, uint32_t state) xhci_halt_controller(sc); break; case USB_HW_POWER_RESUME: + DPRINTF("Halting the XHCI\n"); + xhci_halt_controller(sc); DPRINTF("Starting the XHCI\n"); xhci_start_controller(sc); break; --HPS _______________________________________________ firstname.lastname@example.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"