Am 25.01.19 um 16:14 schrieb Mathias Nyman: > On 18.01.2019 13:28, Jan-Marek Glogowski wrote: >> Just adding some CC of commit signers from get_maintainer.pl >> >> Am 16.01.19 um 18:07 schrieb Jan-Marek Glogowski: >>> On plug-in of my USB-C device, its USB_SS_PORT_LS_SS_INACTIVE >>> link state bit is set. Greping all the kernel for this bit shows >>> that the port status requests a warm-reset this way. >>> >>> This just happens, if its the only device on that hub and the >>> hub resumes, so we don't call port_event, which would otherwise >>> warm-reset ports. The device works ok without this patch, if >>> there is already any other device connected to the hub. >>> > > I've heard about issues with bad port redrivers/retimers causing similar issues > at resume. > > One reason why port_event() isn't called is that hub thread failed to report > any activity for those ports. > > At bus resume we start polling the roothub, which calls > xhci_hub_status_data(). This function will check if there are any interesting > changes going on, and mark these ports. > If no activity then it asks usb core to stop roothub polling. > > xhci_hub_status_data() does not check for USB_PORT_LS_SS_INACTIVE, or compliance mode, > or USB3 polling state, which all would need more attention. > > Could make sense to add those. > Does the below code help your situation? > > diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c > index e2eece6..70f9b26 100644 > --- a/drivers/usb/host/xhci-hub.c > +++ b/drivers/usb/host/xhci-hub.c > @@ -1458,7 +1458,7 @@ int xhci_hub_status_data(struct usb_hcd *hcd, char *buf) > struct xhci_hcd *xhci = hcd_to_xhci(hcd); > int max_ports; > struct xhci_bus_state *bus_state; > - bool reset_change = false; > + bool poll_roothub = false; > struct xhci_hub *rhub; > struct xhci_port **ports; > > @@ -1491,16 +1491,23 @@ int xhci_hub_status_data(struct usb_hcd *hcd, char *buf) > trace_xhci_hub_status_data(i, temp); > > if ((temp & mask) != 0 || > - (bus_state->port_c_suspend & 1 << i) || > - (bus_state->resume_done[i] && time_after_eq( > + (bus_state->port_c_suspend & 1 << i) || > + (temp & PORT_PLS_MASK) == XDEV_COMP_MODE || > + (temp & PORT_PLS_MASK) == XDEV_INACTIVE || > + (bus_state->resume_done[i] && time_after_eq( > jiffies, bus_state->resume_done[i]))) { > buf[(i + 1) / 8] |= 1 << (i + 1) % 8; > status = 1; > } > - if ((temp & PORT_RC)) > - reset_change = true; > + /* > + * don't stop roothub polling if port is in polling state as it > + * can end up in compliance mode without issuing any event > + */ > + if ((temp & PORT_RC) || > + (temp & PORT_PLS_MASK) == XDEV_POLLING) > + poll_roothub = true; > } > - if (!status && !reset_change) { > + if (!status && !poll_roothub) { > xhci_dbg(xhci, "%s: stopping port polling.\n", __func__); > clear_bit(HCD_FLAG_POLL_RH, &hcd->flags); > } > No changes for me with this patch. This is still from 5.0rc2. >>>> Test-Script (./r) #!/bin/sh set -e LSMOD="$(lsmod)" rm_mod() { if echo "$LSMOD" | grep -q "$1"; then sudo rmmod "$1" fi } rm_mod uas rm_mod usb_storage rm_mod xhci_pci rm_mod xhci_hcd rm_mod usbcore if [ "$#" -eq 1 ]; then sudo dmesg -C sudo insmod core/usbcore.ko dyndbg=+mfp sudo insmod xhci-hcd.ko dyndbg=+mfp sudo insmod xhci-pci.ko dyndbg=+mfp fi <<<< Run "./r 1" [ 2311.984239] ACPI: bus type USB registered [ 2311.984255] usbcore: registered new interface driver usbfs [ 2311.984260] usbcore: registered new interface driver hub [ 2311.984277] usbcore: registered new device driver usb [ 2312.006999] xhci_hcd 0000:00:14.0: xHCI Host Controller [ 2312.007003] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1 [ 2312.007016] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Halt the HC [ 2312.007020] xhci_hcd:xhci_gen_setup: xhci_hcd 0000:00:14.0: Resetting HCD [ 2312.007021] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Reset the HC [ 2312.008020] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Wait for controller to be ready for doorbell rings [ 2312.008021] xhci_hcd:xhci_gen_setup: xhci_hcd 0000:00:14.0: Reset complete [ 2312.008023] xhci_hcd:xhci_gen_setup: xhci_hcd 0000:00:14.0: Enabling 64-bit DMA addresses. [ 2312.008023] xhci_hcd:xhci_gen_setup: xhci_hcd 0000:00:14.0: Calling HCD init [ 2312.008024] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: xhci_init [ 2312.008026] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: xHCI doesn't need link TRB QUIRK [ 2312.008028] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Supported page size register = 0x1 [ 2312.008029] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Supported page size of 4K [ 2312.008030] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: HCD page size set to 4K [ 2312.008032] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // xHC can handle at most 64 device slots. [ 2312.008033] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Setting Max device slots reg = 0x40. [ 2312.008036] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Device context base array address = 0x44f2c9000 (DMA), 000000000d5687b1 (virt) [ 2312.008038] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Allocated command ring at 0000000004285dce [ 2312.008039] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: First segment DMA is 0x44ebd4000 [ 2312.008041] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Setting command ring address to 0x000000044ebd4001 [ 2312.008044] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Doorbell array is located at offset 0x3000 from cap regs base addr [ 2312.008045] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Allocating event ring [ 2312.008047] xhci_hcd:xhci_check_trb_in_td_math: xhci_hcd 0000:00:14.0: TRB math tests passed. [ 2312.008049] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Write ERST size = 1 to ir_set 0 (some bits preserved) [ 2312.008050] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Set ERST entries to point to event ring. [ 2312.008051] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Set ERST base address for ir_set 0 = 0x45324d000 [ 2312.008055] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Write event ring dequeue pointer, preserving EHB bit [ 2312.008056] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Wrote ERST address to ir_set 0. [ 2312.008057] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Allocating 34 scratchpad buffers [ 2312.008084] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Ext Cap 0000000059b07030, port offset = 1, count = 16, revision = 0x2 [ 2312.008086] xhci_hcd:xhci_add_in_port: xhci_hcd 0000:00:14.0: PSIV:1 PSIE:2 PLT:0 PFD:0 LP:0 PSIM:12 [ 2312.008088] xhci_hcd:xhci_add_in_port: xhci_hcd 0000:00:14.0: PSIV:2 PSIE:1 PLT:0 PFD:0 LP:0 PSIM:1500 [ 2312.008090] xhci_hcd:xhci_add_in_port: xhci_hcd 0000:00:14.0: PSIV:3 PSIE:2 PLT:0 PFD:0 LP:0 PSIM:480 [ 2312.008091] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: xHCI 1.0: support USB2 hardware lpm [ 2312.008094] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Ext Cap 0000000061bddd60, port offset = 17, count = 6, revision = 0x3 [ 2312.008096] xhci_hcd:xhci_add_in_port: xhci_hcd 0000:00:14.0: PSIV:4 PSIE:3 PLT:0 PFD:1 LP:0 PSIM:5 [ 2312.008098] xhci_hcd:xhci_add_in_port: xhci_hcd 0000:00:14.0: PSIV:5 PSIE:3 PLT:0 PFD:1 LP:0 PSIM:10 [ 2312.008100] xhci_hcd:xhci_add_in_port: xhci_hcd 0000:00:14.0: PSIV:6 PSIE:2 PLT:0 PFD:1 LP:0 PSIM:1248 [ 2312.008102] xhci_hcd:xhci_add_in_port: xhci_hcd 0000:00:14.0: PSIV:7 PSIE:2 PLT:0 PFD:1 LP:0 PSIM:2496 [ 2312.008103] xhci_hcd:xhci_add_in_port: xhci_hcd 0000:00:14.0: PSIV:8 PSIE:2 PLT:0 PFD:1 LP:0 PSIM:4992 [ 2312.008105] xhci_hcd:xhci_add_in_port: xhci_hcd 0000:00:14.0: PSIV:9 PSIE:2 PLT:0 PFD:1 LP:0 PSIM:1457 [ 2312.008107] xhci_hcd:xhci_add_in_port: xhci_hcd 0000:00:14.0: PSIV:10 PSIE:2 PLT:0 PFD:1 LP:0 PSIM:2915 [ 2312.008109] xhci_hcd:xhci_add_in_port: xhci_hcd 0000:00:14.0: PSIV:11 PSIE:2 PLT:0 PFD:1 LP:0 PSIM:5830 [ 2312.008110] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Found 16 USB 2.0 ports and 6 USB 3.0 ports. [ 2312.008112] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Finished xhci_init [ 2312.008113] xhci_hcd:xhci_gen_setup: xhci_hcd 0000:00:14.0: Called HCD init [ 2312.008114] xhci_hcd 0000:00:14.0: hcc params 0x20007fc1 hci version 0x110 quirks 0x0000000000009810 [ 2312.008115] xhci_pci:xhci_pci_setup: xhci_hcd 0000:00:14.0: Got SBRN 49 [ 2312.008118] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported [ 2312.008119] xhci_pci:xhci_pci_reinit: xhci_hcd 0000:00:14.0: Finished xhci_pci_reinit [ 2312.008120] usbcore:usb_add_hcd: xhci_hcd 0000:00:14.0: supports USB remote wakeup [ 2312.008121] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: xhci_run [ 2312.008123] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Failed to enable MSI-X [ 2312.008165] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: ERST deq = 64'h453d7b000 [ 2312.008166] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Set the interrupt modulation register [ 2312.008169] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Enable interrupts, cmd = 0x4. [ 2312.008171] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Enabling event ring interrupter 00000000e794492e by writing 0x2 to irq_pending [ 2312.008172] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Finished xhci_run for USB2 roothub [ 2312.008267] usbcore:usb_get_langid: usb usb1: default language 0x0409 [ 2312.008273] usbcore:usb_new_device: usb usb1: udev 1, busnum 1, minor = 0 [ 2312.008275] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.00 [ 2312.008276] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2312.008277] usb usb1: Product: xHCI Host Controller [ 2312.008277] usb usb1: Manufacturer: Linux 5.0.0-rc2+ xhci-hcd [ 2312.008278] usb usb1: SerialNumber: 0000:00:14.0 [ 2312.008336] usbcore:usb_probe_device: usb usb1: usb_probe_device [ 2312.008337] usbcore:usb_choose_configuration: usb usb1: configuration #1 chosen from 1 choice [ 2312.008339] xhci_hcd:xhci_check_args: xHCI xhci_add_endpoint called for root hub [ 2312.008340] xhci_hcd:xhci_check_args: xHCI xhci_check_bandwidth called for root hub [ 2312.008345] usbcore:usb_set_configuration: usb usb1: adding 1-0:1.0 (config #1, interface 0) [ 2312.008359] usbcore:usb_probe_interface: hub 1-0:1.0: usb_probe_interface [ 2312.008360] usbcore:usb_probe_interface: hub 1-0:1.0: usb_probe_interface - got id [ 2312.008361] hub 1-0:1.0: USB hub found [ 2312.008377] hub 1-0:1.0: 16 ports detected [ 2312.008378] usbcore:hub_configure: hub 1-0:1.0: standalone hub [ 2312.008379] usbcore:hub_configure: hub 1-0:1.0: no power switching (usb 1.0) [ 2312.008380] usbcore:hub_configure: hub 1-0:1.0: individual port over-current protection [ 2312.008381] usbcore:hub_configure: hub 1-0:1.0: Single TT [ 2312.008382] usbcore:hub_configure: hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns) [ 2312.008383] usbcore:hub_configure: hub 1-0:1.0: power on to power good time: 20ms [ 2312.008387] usbcore:hub_configure: hub 1-0:1.0: local power source is good [ 2312.014022] usbcore:hub_power_on: hub 1-0:1.0: trying to enable port power on non-switchable hub [ 2312.014038] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 0 status = 0x2a0 [ 2312.014045] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 1 status = 0x2a0 [ 2312.014050] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 2 status = 0x2a0 [ 2312.014056] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 3 status = 0x2a0 [ 2312.014061] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 4 status = 0x2a0 [ 2312.014066] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 5 status = 0x2a0 [ 2312.014071] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 6 status = 0x2a0 [ 2312.014076] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 7 status = 0x2a0 [ 2312.014081] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 8 status = 0x2a0 [ 2312.014086] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 9 status = 0x2a0 [ 2312.014092] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 10 status = 0x2a0 [ 2312.014097] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 11 status = 0x2a0 [ 2312.014102] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 12 status = 0x2a0 [ 2312.014107] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 13 status = 0x2a0 [ 2312.014112] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 14 status = 0x2a0 [ 2312.014117] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 15 status = 0x2a0 [ 2312.014203] xhci_hcd 0000:00:14.0: xHCI Host Controller [ 2312.014206] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2 [ 2312.014208] xhci_hcd 0000:00:14.0: Host supports USB 3.1 Enhanced SuperSpeed [ 2312.014209] usbcore:usb_add_hcd: xhci_hcd 0000:00:14.0: supports USB remote wakeup [ 2312.014214] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: // Turn on HC, cmd = 0x5. [ 2312.014216] xhci_hcd:xhci_dbg_trace: xhci_hcd 0000:00:14.0: Finished xhci_run for USB3 roothub [ 2312.014231] usbcore:usb_parse_endpoint: usb usb2: skipped 1 descriptor after endpoint [ 2312.014234] usbcore:usb_get_langid: usb usb2: default language 0x0409 [ 2312.014240] usbcore:usb_new_device: usb usb2: udev 1, busnum 2, minor = 128 [ 2312.014242] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.00 [ 2312.014243] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2312.014244] usb usb2: Product: xHCI Host Controller [ 2312.014245] usb usb2: Manufacturer: Linux 5.0.0-rc2+ xhci-hcd [ 2312.014246] usb usb2: SerialNumber: 0000:00:14.0 [ 2312.014298] usbcore:usb_probe_device: usb usb2: usb_probe_device [ 2312.014300] usbcore:usb_choose_configuration: usb usb2: configuration #1 chosen from 1 choice [ 2312.014302] xhci_hcd:xhci_check_args: xHCI xhci_add_endpoint called for root hub [ 2312.014303] xhci_hcd:xhci_check_args: xHCI xhci_check_bandwidth called for root hub [ 2312.014309] usbcore:usb_set_configuration: usb usb2: adding 2-0:1.0 (config #1, interface 0) [ 2312.014323] usbcore:usb_probe_interface: hub 2-0:1.0: usb_probe_interface [ 2312.014324] usbcore:usb_probe_interface: hub 2-0:1.0: usb_probe_interface - got id [ 2312.014325] hub 2-0:1.0: USB hub found [ 2312.014337] hub 2-0:1.0: 6 ports detected [ 2312.014338] usbcore:hub_configure: hub 2-0:1.0: standalone hub [ 2312.014339] usbcore:hub_configure: hub 2-0:1.0: no power switching (usb 1.0) [ 2312.014340] usbcore:hub_configure: hub 2-0:1.0: individual port over-current protection [ 2312.014341] usbcore:hub_configure: hub 2-0:1.0: TT requires at most 8 FS bit times (666 ns) [ 2312.014342] usbcore:hub_configure: hub 2-0:1.0: power on to power good time: 20ms [ 2312.014346] usbcore:hub_configure: hub 2-0:1.0: local power source is good [ 2312.014433] usbcore:link_peers_report: usb usb2-port1: peered to usb1-port1 [ 2312.014515] usbcore:link_peers_report: usb usb2-port2: peered to usb1-port6 [ 2312.014765] usbcore:link_peers_report: usb usb2-port3: peered to usb1-port3 [ 2312.015100] usbcore:link_peers: usb: failed to peer usb2-port4 and usb1-port1 by location (usb2-port4:none) (usb1-port1:usb2-port1) [ 2312.015102] usbcore:link_peers_report: usb usb2-port4: failed to peer to usb1-port1 (-16) [ 2312.015102] usb: port power management may be unreliable [ 2312.015258] usbcore:link_peers_report: usb usb2-port5: peered to usb1-port5 [ 2312.015403] usbcore:link_peers: usb: failed to peer usb2-port6 and usb1-port3 by location (usb2-port6:none) (usb1-port3:usb2-port3) [ 2312.015404] usbcore:link_peers_report: usb usb2-port6: failed to peer to usb1-port3 (-16) [ 2312.015408] usbcore:hub_power_on: hub 2-0:1.0: trying to enable port power on non-switchable hub [ 2312.015420] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 0 status = 0x802a0 [ 2312.015431] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 1 status = 0x802a0 [ 2312.015437] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 2 status = 0x2a0 [ 2312.015443] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 3 status = 0x802a0 [ 2312.015449] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 4 status = 0x802a0 [ 2312.015455] xhci_hcd:xhci_set_port_power: xhci_hcd 0000:00:14.0: set port power, actual port 5 status = 0x802a0 [ 2312.121249] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 0 status = 0x802a0 [ 2312.121254] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2002a0 [ 2312.121270] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 0 status = 0x2a0 [ 2312.121276] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.121352] xhci_hcd:xhci_clear_port_change_bit: xhci_hcd 0000:00:14.0: clear port warm(BH) reset change, actual port 0 status = 0x2a0 [ 2312.121372] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 1 status = 0x2a0 [ 2312.121377] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.121441] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 1 status = 0x802a0 [ 2312.121446] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2002a0 [ 2312.121463] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 2 status = 0x2a0 [ 2312.121468] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.121524] xhci_hcd:xhci_clear_port_change_bit: xhci_hcd 0000:00:14.0: clear port warm(BH) reset change, actual port 1 status = 0x2a0 [ 2312.121546] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 3 status = 0x2a0 [ 2312.121551] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.121611] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 2 status = 0x2a0 [ 2312.121615] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2a0 [ 2312.121632] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 4 status = 0x2a0 [ 2312.121637] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.121692] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 3 status = 0x802a0 [ 2312.121697] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2002a0 [ 2312.121719] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 5 status = 0x2a0 [ 2312.121724] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.121785] xhci_hcd:xhci_clear_port_change_bit: xhci_hcd 0000:00:14.0: clear port warm(BH) reset change, actual port 3 status = 0x2a0 [ 2312.121804] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 6 status = 0x2a0 [ 2312.121809] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.121862] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 4 status = 0x802a0 [ 2312.121867] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2002a0 [ 2312.121889] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 7 status = 0x2a0 [ 2312.121894] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.121940] xhci_hcd:xhci_clear_port_change_bit: xhci_hcd 0000:00:14.0: clear port warm(BH) reset change, actual port 4 status = 0x2a0 [ 2312.121972] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 8 status = 0x2a0 [ 2312.121977] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.122011] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 5 status = 0x802a0 [ 2312.122016] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2002a0 [ 2312.122064] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 9 status = 0x2a0 [ 2312.122069] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.122090] xhci_hcd:xhci_clear_port_change_bit: xhci_hcd 0000:00:14.0: clear port warm(BH) reset change, actual port 5 status = 0x2a0 [ 2312.122145] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 10 status = 0x2a0 [ 2312.122150] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.122230] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 11 status = 0x2a0 [ 2312.122234] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.122311] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 12 status = 0x2a0 [ 2312.122317] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.122351] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 13 status = 0x2a0 [ 2312.122355] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.122380] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 14 status = 0x2a0 [ 2312.122384] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.122407] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 15 status = 0x2a0 [ 2312.122411] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x100 [ 2312.122438] usbcore:hub_event: hub 1-0:1.0: state 7 ports 16 chg 0000 evt 0000 [ 2312.122450] usbcore:hub_suspend: hub 1-0:1.0: hub_suspend [ 2312.122465] usbcore:hcd_bus_suspend: usb usb1: bus auto-suspend, wakeup 1 [ 2312.122504] xhci_hcd:xhci_hub_status_data: xhci_hcd 0000:00:14.0: xhci_hub_status_data: stopping port polling. [ 2312.225254] usbcore:hub_event: hub 2-0:1.0: state 7 ports 6 chg 0000 evt 0000 [ 2312.225284] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 0 status = 0xe0002a0 [ 2312.225319] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 1 status = 0xe0002a0 [ 2312.225339] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 2 status = 0xe0002a0 [ 2312.225360] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 3 status = 0xe0002a0 [ 2312.225378] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 4 status = 0xe0002a0 [ 2312.225396] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 5 status = 0xe0002a0 [ 2312.225408] usbcore:hub_suspend: hub 2-0:1.0: hub_suspend [ 2312.225423] usbcore:hcd_bus_suspend: usb usb2: bus auto-suspend, wakeup 1 [ 2312.225447] xhci_hcd:xhci_hub_status_data: xhci_hcd 0000:00:14.0: xhci_hub_status_data: stopping port polling. USB device is plugged here [ 2316.733514] xhci_hcd:handle_port_status: xhci_hcd 0000:00:14.0: Port Status Change Event for port 19 [ 2316.733525] xhci_hcd:handle_port_status: xhci_hcd 0000:00:14.0: resume root hub [ 2316.733540] xhci_hcd:handle_port_status: xhci_hcd 0000:00:14.0: handle_port_status: starting port polling. [ 2316.733604] usbcore:usb_remote_wakeup: usb usb2: usb wakeup-resume [ 2316.733613] usbcore:hcd_bus_resume: usb usb2: usb auto-resume [ 2316.733634] usbcore:hub_resume: hub 2-0:1.0: hub_resume [ 2316.733651] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 0 status = 0x2a0 [ 2316.733656] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2a0 [ 2316.733686] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 1 status = 0x2a0 [ 2316.733690] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2a0 [ 2316.733705] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 2 status = 0x4002c0 [ 2316.733710] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x4002c0 [ 2316.733728] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 3 status = 0x2a0 [ 2316.733732] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2a0 [ 2316.733747] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 4 status = 0x2a0 [ 2316.733751] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2a0 [ 2316.733768] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 5 status = 0x2a0 [ 2316.733772] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2a0 [ 2316.733796] usbcore:hub_event: hub 2-0:1.0: state 7 ports 6 chg 0000 evt 0000 [ 2316.733812] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 0 status = 0xe0002a0 [ 2316.733835] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 1 status = 0xe0002a0 [ 2316.733850] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 2 status = 0xe4002c0 [ 2316.733867] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 3 status = 0xe0002a0 [ 2316.733883] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 4 status = 0xe0002a0 [ 2316.733899] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 5 status = 0xe0002a0 [ 2316.733911] usbcore:hub_suspend: hub 2-0:1.0: hub_suspend [ 2316.733926] usbcore:hcd_bus_suspend: usb usb2: bus auto-suspend, wakeup 1 [ 2316.733945] usbcore:hcd_bus_suspend: usb usb2: suspend raced with wakeup event [ 2316.733950] usbcore:hcd_bus_resume: usb usb2: usb auto-resume [ 2316.749178] usbcore:hub_resume: hub 2-0:1.0: hub_resume [ 2316.749193] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 0 status = 0x2a0 [ 2316.749197] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2a0 [ 2316.749227] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 1 status = 0x2a0 [ 2316.749231] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2a0 [ 2316.749247] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 2 status = 0x4002c0 [ 2316.749251] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x4002c0 [ 2316.749266] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 3 status = 0x2a0 [ 2316.749270] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2a0 [ 2316.749283] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 4 status = 0x2a0 [ 2316.749288] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2a0 [ 2316.749303] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: get port status, actual port 5 status = 0x2a0 [ 2316.749307] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: Get port status returned 0x2a0 [ 2316.749328] usbcore:hub_event: hub 2-0:1.0: state 7 ports 6 chg 0000 evt 0000 [ 2316.749345] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 0 status = 0xe0002a0 [ 2316.749361] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 1 status = 0xe0002a0 [ 2316.749376] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 2 status = 0xe4002c0 [ 2316.749391] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 3 status = 0xe0002a0 [ 2316.749407] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 4 status = 0xe0002a0 [ 2316.749422] xhci_hcd:xhci_hub_control: xhci_hcd 0000:00:14.0: set port remote wake mask, actual port 5 status = 0xe0002a0 ....