Date: Mon, 19 Nov 2012 20:52:35 +0100 From: Hans Petter Selasky <hselasky@c2i.net> To: Florian Jung <florian.a.jung@web.de> Cc: freebsd-gnats-submit@freebsd.org, freebsd-usb@freebsd.org Subject: Re: usb/173722: XHCI driver bug after suspend to ram (ACPI S3 mode) Message-ID: <201211192052.35438.hselasky@c2i.net> In-Reply-To: <50AA86CB.2080007@web.de> References: <201211191536.qAJFajns006251@red.freebsd.org> <201211191921.13989.hselasky@c2i.net> <50AA86CB.2080007@web.de>
next in thread | previous in thread | raw e-mail | index | archive | help
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 > >> root@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211192052.35438.hselasky>