lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aTKWWjfWihg0a9WP@FUE-ALEWI-WINX>
Date: Fri, 5 Dec 2025 09:22:50 +0100
From: Alexander Wilhelm <alexander.wilhelm@...termo.com>
To: Mathias Nyman <mathias.nyman@...ux.intel.com>
Cc: Mathias Nyman <mathias.nyman@...el.com>,
        Thinh Nguyen <Thinh.Nguyen@...opsys.com>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: usb: Error while assigning device slot ID

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@...t:~# 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@...t:~# mount -t debugfs none /sys/kernel/debug
    user@...t:~# echo 'module xhci_hcd =p' >/sys/kernel/debug/dynamic_debug/control
    user@...t:~# echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control
    user@...t:~# 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@...t:~# 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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ