All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Wilhelm <alexander.wilhelm@westermo.com>
To: Mathias Nyman <mathias.nyman@linux.intel.com>
Cc: Mathias Nyman <mathias.nyman@intel.com>,
	Thinh Nguyen <Thinh.Nguyen@synopsys.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: usb: Error while assigning device slot ID
Date: Fri, 5 Dec 2025 09:22:50 +0100	[thread overview]
Message-ID: <aTKWWjfWihg0a9WP@FUE-ALEWI-WINX> (raw)
In-Reply-To: <958c8848-945e-4fe0-9ebf-481155e11d73@linux.intel.com>

On Thu, Dec 04, 2025 at 05:35:14PM +0200, Mathias Nyman wrote:
> Hi
> 
> On 12/4/25 13:09, Alexander Wilhelm wrote:
> > Hello USB developers,
> > 
> > I’m using an NXP LS1046A SoC with the integrated DWC3 USB controller in
> > host mode. On Linux v5.5.167 my USB flash drive was detected and mountable.
> > After upgrading to Linux v6.6.110 the USB flash drive is no longer
> > recognized. If it is already plugged in during boot phase I get the
> > following errors:
> > 
> >      xhci-hcd xhci-hcd.2.auto: Error while assigning device slot ID: Command Aborted
> >      xhci-hcd xhci-hcd.2.auto: Max number of devices this xHCI host supports is 127
> > 
> > And here is the kernel debug output:
> > 
> >      user@host:~# cat /sys/kernel/debug/usb/xhci/xhci-hcd.3.auto/ports/port01/portsc
> >      Powered Connected Disabled Link:Polling PortSpeed:1 Change: Wake: WDE WOE
> > 
> > I’ve also found that the function `xhci_alloc_dev` shows the error message.
> > I printed the `command` member variables and see that the `status` is
> > `COMP_COMMAND_ABORTED` and `slot_id` remains `0`. I have already seen
> > similar error patterns in some forums, but the suggested solutions didn’t
> > help me. Between these releases Kconfig has changed significantly; I may be
> > missing a config option, but I haven’t found one. Does anyone else see this
> > error pattern? Or maybe someone has a hint for me on how to proceed?
> 
> Looks like "enable slot" commands times out,
> This is a simple internal xHCI command which shouldn't timeout
> 
> Could you enable xhci and usb core dynamic debug and share full dmesg after issue is seen.
> 
> mount -t debugfs none /sys/kernel/debug
> echo 'module xhci_hcd =p' >/sys/kernel/debug/dynamic_debug/control
> echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control
> < Reproduce issue >
> Send output of dmesg

Hi Mathias,

Sure, here are the commands input and dmesg output:

    user@host:~# mount -t debugfs none /sys/kernel/debug
    user@host:~# echo 'module xhci_hcd =p' >/sys/kernel/debug/dynamic_debug/control
    user@host:~# echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control
    user@host:~# modprobe xhci_plat_hcd

    xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
    xhci-hcd xhci-hcd.1.auto: // Halt the HC
    xhci-hcd xhci-hcd.1.auto: Resetting HCD
    xhci-hcd xhci-hcd.1.auto: // Reset the HC
    xhci-hcd xhci-hcd.1.auto: Wait for controller to be ready for doorbell rings
    xhci-hcd xhci-hcd.1.auto: Reset complete
    xhci-hcd xhci-hcd.1.auto: Enabling 64-bit DMA addresses.
    xhci-hcd xhci-hcd.1.auto: Calling HCD init
    xhci-hcd xhci-hcd.1.auto: xhci_init
    xhci-hcd xhci-hcd.1.auto: xHCI doesn't need link TRB QUIRK
    xhci-hcd xhci-hcd.1.auto: Supported page size register = 0x1
    xhci-hcd xhci-hcd.1.auto: Supported page size of 4K
    xhci-hcd xhci-hcd.1.auto: HCD page size set to 4K
    xhci-hcd xhci-hcd.1.auto: // xHC can handle at most 127 device slots.
    xhci-hcd xhci-hcd.1.auto: // Setting Max device slots reg = 0x7f.
    xhci-hcd xhci-hcd.1.auto: // Device context base array address = 0x0x0000000089350000 (DMA), 00000000e2e8db2a (virt)
    xhci-hcd xhci-hcd.1.auto: Allocated command ring at 00000000fdbb10ea
    xhci-hcd xhci-hcd.1.auto: First segment DMA is 0x0x0000000089543000
    xhci-hcd xhci-hcd.1.auto: // Setting command ring address to 0x0000000089543001
    xhci-hcd xhci-hcd.1.auto: // Doorbell array is located at offset 0x480 from cap regs base addr
    xhci-hcd xhci-hcd.1.auto: Allocating primary event ring
    xhci-hcd xhci-hcd.1.auto: // Write event ring dequeue pointer, preserving EHB bit
    xhci-hcd xhci-hcd.1.auto: Allocating 2 scratchpad buffers
    xhci-hcd xhci-hcd.1.auto: Ext Cap 000000008b11e6f3, port offset = 1, count = 1, revision = 0x2
    xhci-hcd xhci-hcd.1.auto: xHCI 1.0: support USB2 hardware lpm
    xhci-hcd xhci-hcd.1.auto: Ext Cap 000000005ba0d7f9, port offset = 2, count = 1, revision = 0x3
    xhci-hcd xhci-hcd.1.auto: Found 1 USB 2.0 ports and 1 USB 3.0 ports.
    xhci-hcd xhci-hcd.1.auto: Finished xhci_init
    xhci-hcd xhci-hcd.1.auto: Called HCD init
    xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f66d hci version 0x100 quirks 0x0000008002000810
    xhci-hcd xhci-hcd.1.auto: supports USB remote wakeup
    xhci-hcd xhci-hcd.1.auto: irq 65, io mem 0x02f00000
    xhci-hcd xhci-hcd.1.auto: xhci_run
    xhci-hcd xhci-hcd.1.auto: ERST deq = 64'h910e6000
    xhci-hcd xhci-hcd.1.auto: Finished xhci_run for main hcd
    xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
    xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
    xhci-hcd xhci-hcd.1.auto: supports USB remote wakeup
    xhci-hcd xhci-hcd.1.auto: Enable interrupts
    xhci-hcd xhci-hcd.1.auto: Enable primary interrupter
    xhci-hcd xhci-hcd.1.auto: // Turn on HC, cmd = 0x5.
    usb usb1: default language 0x0409
    usb usb1: udev 1, busnum 1, minor = 0
    usb usb1: usb_probe_device
    usb usb1: configuration #1 chosen from 1 choice
    xHCI xhci_add_endpoint called for root hub
    xHCI xhci_check_bandwidth called for root hub
    usb usb1: adding 1-0:1.0 (config #1, interface 0)
    hub 1-0:1.0: usb_probe_interface
    hub 1-0:1.0: usb_probe_interface - got id
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    hub 1-0:1.0: standalone hub
    hub 1-0:1.0: individual port power switching
    hub 1-0:1.0: individual port over-current protection
    hub 1-0:1.0: Single TT
    hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns)
    hub 1-0:1.0: power on to power good time: 20ms
    hub 1-0:1.0: local power source is good
    hub 1-0:1.0: enabling power on all ports
    xhci-hcd xhci-hcd.1.auto: set port power 1-1 ON, portsc: 0x2a0
    usb usb2: skipped 1 descriptor after endpoint
    usb usb2: default language 0x0409
    usb usb2: udev 1, busnum 2, minor = 128
    usb usb2: usb_probe_device
    usb usb2: configuration #1 chosen from 1 choice
    xHCI xhci_add_endpoint called for root hub
    xHCI xhci_check_bandwidth called for root hub
    usb usb2: adding 2-0:1.0 (config #1, interface 0)
    hub 2-0:1.0: usb_probe_interface
    hub 2-0:1.0: usb_probe_interface - got id
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 1 port detected
    hub 2-0:1.0: standalone hub
    hub 2-0:1.0: individual port power switching
    hub 2-0:1.0: individual port over-current protection
    hub 2-0:1.0: TT requires at most 8 FS bit times (666 ns)
    hub 2-0:1.0: power on to power good time: 100ms
    hub 2-0:1.0: local power source is good
    usb usb2-port1: peered to usb1-port1
    hub 2-0:1.0: enabling power on all ports
    xhci-hcd xhci-hcd.1.auto: set port power 2-1 ON, portsc: 0x2a0
    xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
    xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 3
    xhci-hcd xhci-hcd.2.auto: // Halt the HC
    xhci-hcd xhci-hcd.2.auto: Resetting HCD
    xhci-hcd xhci-hcd.2.auto: // Reset the HC
    xhci-hcd xhci-hcd.2.auto: Wait for controller to be ready for doorbell rings
    xhci-hcd xhci-hcd.2.auto: Reset complete
    xhci-hcd xhci-hcd.2.auto: Enabling 64-bit DMA addresses.
    xhci-hcd xhci-hcd.2.auto: Calling HCD init
    xhci-hcd xhci-hcd.2.auto: xhci_init
    xhci-hcd xhci-hcd.2.auto: xHCI doesn't need link TRB QUIRK
    xhci-hcd xhci-hcd.2.auto: Supported page size register = 0x1
    xhci-hcd xhci-hcd.2.auto: Supported page size of 4K
    xhci-hcd xhci-hcd.2.auto: HCD page size set to 4K
    xhci-hcd xhci-hcd.2.auto: // xHC can handle at most 127 device slots.
    xhci-hcd xhci-hcd.2.auto: // Setting Max device slots reg = 0x7f.
    xhci-hcd xhci-hcd.2.auto: // Device context base array address = 0x0x0000000092ff9000 (DMA), 00000000945ba908 (virt)
    xhci-hcd xhci-hcd.2.auto: Allocated command ring at 0000000078de58c1
    xhci-hcd xhci-hcd.2.auto: First segment DMA is 0x0x0000000091395000
    xhci-hcd xhci-hcd.2.auto: // Setting command ring address to 0x0000000091395001
    xhci-hcd xhci-hcd.2.auto: // Doorbell array is located at offset 0x480 from cap regs base addr
    xhci-hcd xhci-hcd.2.auto: Allocating primary event ring
    xhci-hcd xhci-hcd.2.auto: // Write event ring dequeue pointer, preserving EHB bit
    xhci-hcd xhci-hcd.2.auto: Allocating 2 scratchpad buffers
    xhci-hcd xhci-hcd.2.auto: Ext Cap 00000000417a378f, port offset = 1, count = 1, revision = 0x2
    xhci-hcd xhci-hcd.2.auto: xHCI 1.0: support USB2 hardware lpm
    xhci-hcd xhci-hcd.2.auto: Ext Cap 0000000011643eb3, port offset = 2, count = 1, revision = 0x3
    xhci-hcd xhci-hcd.2.auto: Found 1 USB 2.0 ports and 1 USB 3.0 ports.
    xhci-hcd xhci-hcd.2.auto: Finished xhci_init
    xhci-hcd xhci-hcd.2.auto: Called HCD init
    xhci-hcd xhci-hcd.2.auto: hcc params 0x0220f66d hci version 0x100 quirks 0x0000008002000810
    xhci-hcd xhci-hcd.2.auto: supports USB remote wakeup
    xhci-hcd xhci-hcd.2.auto: irq 66, io mem 0x03000000
    xhci-hcd xhci-hcd.2.auto: xhci_run
    xhci-hcd xhci-hcd.2.auto: ERST deq = 64'h92f3b000
    xhci-hcd xhci-hcd.2.auto: Finished xhci_run for main hcd
    xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
    xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 4
    xhci-hcd xhci-hcd.2.auto: Host supports USB 3.0 SuperSpeed
    xhci-hcd xhci-hcd.2.auto: supports USB remote wakeup
    xhci-hcd xhci-hcd.2.auto: Enable interrupts
    xhci-hcd xhci-hcd.2.auto: Enable primary interrupter
    xhci-hcd xhci-hcd.2.auto: // Turn on HC, cmd = 0x5.
    usb usb3: default language 0x0409
    usb usb3: udev 1, busnum 3, minor = 256
    usb usb3: usb_probe_device
    usb usb3: configuration #1 chosen from 1 choice
    xHCI xhci_add_endpoint called for root hub
    xHCI xhci_check_bandwidth called for root hub
    usb usb3: adding 3-0:1.0 (config #1, interface 0)
    hub 3-0:1.0: usb_probe_interface
    hub 3-0:1.0: usb_probe_interface - got id
    hub 3-0:1.0: USB hub found
    hub 3-0:1.0: 1 port detected
    hub 3-0:1.0: standalone hub
    hub 3-0:1.0: individual port power switching
    hub 3-0:1.0: individual port over-current protection
    hub 3-0:1.0: Single TT
    hub 3-0:1.0: TT requires at most 8 FS bit times (666 ns)
    hub 3-0:1.0: power on to power good time: 20ms
    hub 3-0:1.0: local power source is good
    hub 3-0:1.0: enabling power on all ports
    xhci-hcd xhci-hcd.2.auto: set port power 3-1 ON, portsc: 0x2a0
    usb usb4: skipped 1 descriptor after endpoint
    usb usb4: default language 0x0409
    usb usb4: udev 1, busnum 4, minor = 384
    usb usb4: usb_probe_device
    usb usb4: configuration #1 chosen from 1 choice
    xHCI xhci_add_endpoint called for root hub
    xHCI xhci_check_bandwidth called for root hub
    usb usb4: adding 4-0:1.0 (config #1, interface 0)
    hub 4-0:1.0: usb_probe_interface
    hub 4-0:1.0: usb_probe_interface - got id
    hub 4-0:1.0: USB hub found
    hub 4-0:1.0: 1 port detected
    hub 4-0:1.0: standalone hub
    hub 4-0:1.0: individual port power switching
    hub 4-0:1.0: individual port over-current protection
    hub 4-0:1.0: TT requires at most 8 FS bit times (666 ns)
    hub 4-0:1.0: power on to power good time: 100ms
    hub 4-0:1.0: local power source is good
    usb usb4-port1: peered to usb3-port1
    hub 4-0:1.0: enabling power on all ports
    xhci-hcd xhci-hcd.2.auto: set port power 4-1 ON, portsc: 0x2a0
    xhci-hcd xhci-hcd.3.auto: xHCI Host Controller
    xhci-hcd xhci-hcd.3.auto: new USB bus registered, assigned bus number 5
    xhci-hcd xhci-hcd.3.auto: // Halt the HC
    xhci-hcd xhci-hcd.3.auto: Resetting HCD
    xhci-hcd xhci-hcd.3.auto: // Reset the HC
    xhci-hcd xhci-hcd.3.auto: Wait for controller to be ready for doorbell rings
    xhci-hcd xhci-hcd.3.auto: Reset complete
    xhci-hcd xhci-hcd.3.auto: Enabling 64-bit DMA addresses.
    xhci-hcd xhci-hcd.3.auto: Calling HCD init
    xhci-hcd xhci-hcd.3.auto: xhci_init
    xhci-hcd xhci-hcd.3.auto: xHCI doesn't need link TRB QUIRK
    xhci-hcd xhci-hcd.3.auto: Supported page size register = 0x1
    xhci-hcd xhci-hcd.3.auto: Supported page size of 4K
    xhci-hcd xhci-hcd.3.auto: HCD page size set to 4K
    xhci-hcd xhci-hcd.3.auto: // xHC can handle at most 127 device slots.
    xhci-hcd xhci-hcd.3.auto: // Setting Max device slots reg = 0x7f.
    xhci-hcd xhci-hcd.3.auto: // Device context base array address = 0x0x00000000896c1000 (DMA), 0000000054e1c87e (virt)
    xhci-hcd xhci-hcd.3.auto: Allocated command ring at 0000000019de94d9
    xhci-hcd xhci-hcd.3.auto: First segment DMA is 0x0x000000008933c000
    xhci-hcd xhci-hcd.3.auto: // Setting command ring address to 0x000000008933c001
    xhci-hcd xhci-hcd.3.auto: // Doorbell array is located at offset 0x480 from cap regs base addr
    xhci-hcd xhci-hcd.3.auto: Allocating primary event ring
    xhci-hcd xhci-hcd.3.auto: // Write event ring dequeue pointer, preserving EHB bit
    xhci-hcd xhci-hcd.3.auto: Allocating 2 scratchpad buffers
    xhci-hcd xhci-hcd.3.auto: Ext Cap 0000000028e6630e, port offset = 1, count = 1, revision = 0x2
    xhci-hcd xhci-hcd.3.auto: xHCI 1.0: support USB2 hardware lpm
    xhci-hcd xhci-hcd.3.auto: Ext Cap 0000000038375136, port offset = 2, count = 1, revision = 0x3
    xhci-hcd xhci-hcd.3.auto: Found 1 USB 2.0 ports and 1 USB 3.0 ports.
    xhci-hcd xhci-hcd.3.auto: Finished xhci_init
    xhci-hcd xhci-hcd.3.auto: Called HCD init
    xhci-hcd xhci-hcd.3.auto: hcc params 0x0220f66d hci version 0x100 quirks 0x0000008002000810
    xhci-hcd xhci-hcd.3.auto: supports USB remote wakeup
    xhci-hcd xhci-hcd.3.auto: irq 67, io mem 0x03100000
    xhci-hcd xhci-hcd.3.auto: xhci_run
    xhci-hcd xhci-hcd.3.auto: ERST deq = 64'h931a6000
    xhci-hcd xhci-hcd.3.auto: Finished xhci_run for main hcd
    xhci-hcd xhci-hcd.3.auto: xHCI Host Controller
    xhci-hcd xhci-hcd.3.auto: new USB bus registered, assigned bus number 6
    xhci-hcd xhci-hcd.3.auto: Host supports USB 3.0 SuperSpeed
    xhci-hcd xhci-hcd.3.auto: supports USB remote wakeup
    xhci-hcd xhci-hcd.3.auto: Enable interrupts
    xhci-hcd xhci-hcd.3.auto: Enable primary interrupter
    xhci-hcd xhci-hcd.3.auto: // Turn on HC, cmd = 0x5.
    usb usb5: default language 0x0409
    usb usb5: udev 1, busnum 5, minor = 512
    usb usb5: usb_probe_device
    usb usb5: configuration #1 chosen from 1 choice
    xHCI xhci_add_endpoint called for root hub
    xHCI xhci_check_bandwidth called for root hub
    usb usb5: adding 5-0:1.0 (config #1, interface 0)
    hub 5-0:1.0: usb_probe_interface
    hub 5-0:1.0: usb_probe_interface - got id
    hub 5-0:1.0: USB hub found
    hub 5-0:1.0: 1 port detected
    hub 5-0:1.0: standalone hub
    hub 5-0:1.0: individual port power switching
    hub 5-0:1.0: individual port over-current protection
    hub 5-0:1.0: Single TT
    hub 5-0:1.0: TT requires at most 8 FS bit times (666 ns)
    hub 5-0:1.0: power on to power good time: 20ms
    hub 5-0:1.0: local power source is good
    hub 5-0:1.0: enabling power on all ports
    xhci-hcd xhci-hcd.3.auto: set port power 5-1 ON, portsc: 0x206e1
    usb usb6: skipped 1 descriptor after endpoint
    usb usb6: default language 0x0409
    usb usb6: udev 1, busnum 6, minor = 640
    usb usb6: usb_probe_device
    usb usb6: configuration #1 chosen from 1 choice
    xHCI xhci_add_endpoint called for root hub
    xHCI xhci_check_bandwidth called for root hub
    usb usb6: adding 6-0:1.0 (config #1, interface 0)
    hub 6-0:1.0: usb_probe_interface
    hub 6-0:1.0: usb_probe_interface - got id
    hub 6-0:1.0: USB hub found
    hub 6-0:1.0: 1 port detected
    hub 6-0:1.0: standalone hub
    hub 6-0:1.0: individual port power switching
    hub 6-0:1.0: individual port over-current protection
    hub 6-0:1.0: TT requires at most 8 FS bit times (666 ns)
    hub 6-0:1.0: power on to power good time: 100ms
    hub 6-0:1.0: local power source is good
    usb usb6-port1: peered to usb5-port1
    hub 6-0:1.0: enabling power on all ports
    xhci-hcd xhci-hcd.3.auto: set port power 6-1 ON, portsc: 0x2a0
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    xhci-hcd xhci-hcd.3.auto: Get port status 5-1 read: 0x206e1, return 0x10101
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    usb usb5-port1: status 0101 change 0001
    xhci-hcd xhci-hcd.3.auto: clear port1 connect change, portsc: 0x6e1
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.1.auto: Get port status 2-1 read: 0x2a0, return 0x2a0
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0000
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    xhci-hcd xhci-hcd.1.auto: set port remote wake mask, actual port 2-1 status  = 0xe0002a0
    hub 2-0:1.0: hub_suspend
    usb usb2: bus auto-suspend, wakeup 1
    usb usb2: suspend raced with wakeup event
    usb usb2: usb auto-resume
    xhci-hcd xhci-hcd.2.auto: Get port status 4-1 read: 0x2a0, return 0x2a0
    hub 4-0:1.0: state 7 ports 1 chg 0000 evt 0000
    xhci-hcd xhci-hcd.2.auto: set port remote wake mask, actual port 4-1 status  = 0xe0002a0
    hub 4-0:1.0: hub_suspend
    usb usb4: bus auto-suspend, wakeup 1
    usb usb4: suspend raced with wakeup event
    usb usb4: usb auto-resume
    xhci-hcd xhci-hcd.3.auto: Get port status 6-1 read: 0x2a0, return 0x2a0
    hub 6-0:1.0: state 7 ports 1 chg 0000 evt 0000
    xhci-hcd xhci-hcd.3.auto: set port remote wake mask, actual port 6-1 status  = 0xe0002a0
    hub 6-0:1.0: hub_suspend
    usb usb6: bus auto-suspend, wakeup 1
    usb usb6: suspend raced with wakeup event
    usb usb6: usb auto-resume
    hub 1-0:1.0: hub_resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    hub 3-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb1: usb auto-resume
    usb usb3: usb auto-resume
    hub 2-0:1.0: hub_resume
    hub 4-0:1.0: hub_resume
    hub 6-0:1.0: hub_resume
    hub 5-0:1.0: state 7 ports 1 chg 0002 evt 0000
    xhci-hcd xhci-hcd.3.auto: Get port status 5-1 read: 0x6e1, return 0x101
    usb usb5-port1: status 0101, change 0000, 12 Mb/s
    xhci-hcd xhci-hcd.3.auto: // Ding dong!
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 2-1 read: 0x2a0, return 0x2a0
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.3.auto: Get port status 6-1 read: 0x2a0, return 0x2a0
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.2.auto: Get port status 4-1 read: 0x2a0, return 0x2a0
    hub 6-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 4-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.1.auto: set port remote wake mask, actual port 2-1 status  = 0xe0002a0
    hub 2-0:1.0: hub_suspend
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb2: bus auto-suspend, wakeup 1
    usb usb2: suspend raced with wakeup event
    usb usb2: usb auto-resume
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    xhci-hcd xhci-hcd.2.auto: set port remote wake mask, actual port 4-1 status  = 0xe0002a0
    hub 4-0:1.0: hub_suspend
    usb usb4: bus auto-suspend, wakeup 1
    usb usb4: suspend raced with wakeup event
    usb usb4: usb auto-resume
    xhci-hcd xhci-hcd.3.auto: set port remote wake mask, actual port 6-1 status  = 0xe0002a0
    hub 6-0:1.0: hub_suspend
    usb usb6: bus auto-suspend, wakeup 1
    usb usb6: suspend raced with wakeup event
    usb usb6: usb auto-resume
    hub 2-0:1.0: hub_resume
    hub 3-0:1.0: hub_resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    hub 3-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb3: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 4-0:1.0: hub_resume
    hub 6-0:1.0: hub_resume
    hub 1-0:1.0: hub_resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    xhci-hcd xhci-hcd.1.auto: Get port status 2-1 read: 0x2a0, return 0x2a0
    hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0000
    xhci-hcd xhci-hcd.2.auto: Get port status 4-1 read: 0x2a0, return 0x2a0
    xhci-hcd xhci-hcd.3.auto: Get port status 6-1 read: 0x2a0, return 0x2a0
    hub 4-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 6-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    hub 3-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb3: bus auto-suspend, wakeup 1
    usb usb1: usb auto-resume
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    hub 3-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb3: bus auto-suspend, wakeup 1
    usb usb1: usb auto-resume
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    hub 3-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb1: usb auto-resume
    usb usb3: bus auto-suspend, wakeup 1
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: hub_suspend
    hub 1-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    usb usb1: usb auto-resume
    hub 3-0:1.0: hub_resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    hub 3-0:1.0: hub_suspend
    usb usb3: bus auto-suspend, wakeup 1
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    usb usb1: usb auto-resume
    hub 1-0:1.0: hub_resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    hub 3-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    usb usb1: suspend raced with wakeup event
    usb usb3: bus auto-suspend, wakeup 1
    usb usb1: usb auto-resume
    usb usb3: suspend raced with wakeup event
    usb usb3: usb auto-resume
    hub 1-0:1.0: hub_resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    hub 1-0:1.0: hub_suspend
    hub 3-0:1.0: hub_suspend
    usb usb1: bus auto-suspend, wakeup 1
    xhci-hcd xhci-hcd.1.auto: xhci_hub_status_data: stopping usb1 port polling
    usb usb3: bus auto-suspend, wakeup 1
    xhci-hcd xhci-hcd.2.auto: xhci_hub_status_data: stopping usb3 port polling
    xhci-hcd xhci-hcd.1.auto: set port remote wake mask, actual port 2-1 status  = 0xe0002a0
    hub 2-0:1.0: hub_suspend
    usb usb2: bus auto-suspend, wakeup 1
    xhci-hcd xhci-hcd.1.auto: xhci_hub_status_data: stopping usb2 port polling
    xhci-hcd xhci-hcd.2.auto: set port remote wake mask, actual port 4-1 status  = 0xe0002a0
    xhci-hcd xhci-hcd.3.auto: set port remote wake mask, actual port 6-1 status  = 0xe0002a0
    hub 6-0:1.0: hub_suspend
    usb usb6: bus auto-suspend, wakeup 1
    xhci-hcd xhci-hcd.3.auto: xhci_hub_status_data: stopping usb6 port polling
    hub 4-0:1.0: hub_suspend
    usb usb4: bus auto-suspend, wakeup 1
    xhci-hcd xhci-hcd.2.auto: xhci_hub_status_data: stopping usb4 port polling
    xhci-hcd xhci-hcd.3.auto: Command timeout, USBSTS: 0x00000000
    xhci-hcd xhci-hcd.3.auto: Command timeout
    xhci-hcd xhci-hcd.3.auto: Abort command ring
    xhci-hcd xhci-hcd.3.auto: No stop event for abort, ring start fail?
    xhci-hcd xhci-hcd.3.auto: Error while assigning device slot ID: Command Aborted
    xhci-hcd xhci-hcd.3.auto: Max number of devices this xHCI host supports is 127.
    usb usb5-port1: couldn't allocate usb_device
    xhci-hcd xhci-hcd.3.auto: Broken Port Enabled/Disabled, ignoring port disable request.
    hub 5-0:1.0: hub_suspend
    usb usb5: bus auto-suspend, wakeup 1
    xhci-hcd xhci-hcd.3.auto: xhci_hub_status_data: stopping usb5 port polling

> Reasons for command not completing could be xHC being stopped, not processing commands due
> to being suspended, or something preventing xchi interrupt, and driver misses the
> command completion event
> 
> Is runtime PM enabled fo xHCI in your DWC3 setup?
> It was enabled by default in 6.1 kernels for PCI based xhci 1.2 controllers.

I'm not sure. I found that PM Kconfig is enabled, but the errors also occur
if it's disabled, too. I didn't find any PM runtime configuration.

> Does your flash drive enumerate if you first force roothubs on, disabling runtime pm?
> echo on > /sys/bus/usb/devices/usb*/power/control

Here I tried the current kernel configuration with enabled PM:

    user@host:~# for i in $(seq 1 6); do echo on > /sys/bus/usb/devices/usb${i}/power/control; done

    usb usb1: usb auto-resume
    hub 1-0:1.0: hub_resume
    xhci-hcd xhci-hcd.1.auto: Get port status 1-1 read: 0x2a0, return 0x100
    usb usb2: usb auto-resume
    hub 2-0:1.0: hub_resume
    hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    xhci-hcd xhci-hcd.1.auto: Get port status 2-1 read: 0x2a0, return 0x2a0
    usb usb3: usb auto-resume
    hub 3-0:1.0: hub_resume
    xhci-hcd xhci-hcd.2.auto: Get port status 3-1 read: 0x2a0, return 0x100
    hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0000
    usb usb4: usb auto-resume
    hub 4-0:1.0: hub_resume
    hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
    xhci-hcd xhci-hcd.2.auto: Get port status 4-1 read: 0x2a0, return 0x2a0
    hub 4-0:1.0: state 7 ports 1 chg 0000 evt 0000
    usb usb5: usb auto-resume
    hub 5-0:1.0: hub_resume
    xhci-hcd xhci-hcd.3.auto: Get port status 5-1 read: 0x2a0, return 0x100
    usb usb6: usb auto-resume
    hub 6-0:1.0: hub_resume
    hub 5-0:1.0: state 7 ports 1 chg 0000 evt 0000
    xhci-hcd xhci-hcd.3.auto: Get port status 6-1 read: 0x2a0, return 0x2a0
    hub 6-0:1.0: state 7 ports 1 chg 0000 evt 0000

After inserting the USB flash drive, nothing happened. I'll try to disable
the PM completely and repeat the experiment. Until then I hope the logs
above can help to analyze the problem.


Best regards
Alexander Wilhelm

  reply	other threads:[~2025-12-05  8:28 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-04 11:09 usb: Error while assigning device slot ID Alexander Wilhelm
2025-12-04 15:35 ` Mathias Nyman
2025-12-05  8:22   ` Alexander Wilhelm [this message]
2025-12-09 14:53     ` Mathias Nyman
2025-12-10  8:31       ` Alexander Wilhelm
2025-12-15 11:40         ` Mathias Nyman
2026-01-19  7:16           ` Alexander Wilhelm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aTKWWjfWihg0a9WP@FUE-ALEWI-WINX \
    --to=alexander.wilhelm@westermo.com \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    --cc=mathias.nyman@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.