Re: xhci_hcd can't detect new devices after enabling runtime PM and disabling S3 wake (bug #85701)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 08, 2014 at 12:38:35PM -0400, Alan Stern wrote:
> Dmitry, this gave me another idea.  Can you test the patch below,
> _without_ the previous patch?  And post the corresponding usbmon trace
> and dmesg log?

Hi, it doesn't work. All other attempts to plug device (after first one+)
don't produce any dmesg output.

[  140.766041] xhci_hcd 0000:00:14.0: PME# enabled
[  140.801962] xhci_hcd 0000:00:14.0: power state changed by ACPI to D3cold
[  211.872301] xhci_hcd 0000:00:14.0: power state changed by ACPI to D0
[  211.976315] xhci_hcd 0000:00:14.0: PME# disabled
[  211.976332] xhci_hcd 0000:00:14.0: enabling bus mastering
[  211.976408] xhci_hcd 0000:00:14.0: hcd_pci_runtime_resume: 0
[  211.976415] xhci_hcd 0000:00:14.0: hcd_pci_runtime_suspend: -16
[  211.976450] pci_pm_runtime_suspend(): hcd_pci_runtime_suspend+0x0/0x40 [usbcore] returns -16
[  211.976452] usb usb1: usb wakeup-resume
[  211.976465] usb usb1: usb auto-resume
[  211.976498] hub 1-0:1.0: hub_resume
[  211.976551] usb usb1-port5: status 0107 change 0000
[  211.976573] usb usb1-port7: status 0107 change 0000
[  211.976616] usb usb1-port12: status 0507 change 0000
[  212.080230] hub 1-0:1.0: state 7 ports 15 chg 0040 evt 0000
[  212.080297] usb usb1-port6: status 0100, change 0000, 12 Mb/s
[  212.080314] hub 1-0:1.0: hub_suspend
[  212.080328] usb usb1: bus auto-suspend, wakeup 1
[  212.080410] xhci_hcd 0000:00:14.0: hcd_pci_runtime_suspend: 0
[  212.080458] xhci_hcd 0000:00:14.0: PME# enabled
[  212.120252] xhci_hcd 0000:00:14.0: power state changed by ACPI to D3cold

ffff88042830e7c0 1795043513 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
ffff88042830e7c0 1795043534 C Ci:1:001:0 0 4 = 00010000
ffff88042830e7c0 1795043538 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
ffff88042830e7c0 1795043545 C Ci:1:001:0 0 4 = 00010000
ffff88042830e7c0 1795043548 S Ci:1:001:0 s a3 00 0000 0003 0004 4 <
ffff88042830e7c0 1795043550 C Ci:1:001:0 0 4 = 00010000
ffff88042830e7c0 1795043552 S Ci:1:001:0 s a3 00 0000 0004 0004 4 <
ffff88042830e7c0 1795043555 C Ci:1:001:0 0 4 = 00010000
ffff88042830e7c0 1795043557 S Ci:1:001:0 s a3 00 0000 0005 0004 4 <
ffff88042830e7c0 1795043560 C Ci:1:001:0 0 4 = 07010000
ffff88042830e7c0 1795043564 S Ci:1:001:0 s a3 00 0000 0006 0004 4 <
ffff88042830e7c0 1795043572 C Ci:1:001:0 0 4 = 00010100
ffff88042830e7c0 1795043574 S Co:1:001:0 s 23 01 0010 0006 0000 0
ffff88042830e7c0 1795043578 C Co:1:001:0 0 0
ffff88042830e7c0 1795043580 S Ci:1:001:0 s a3 00 0000 0007 0004 4 <
ffff88042830e7c0 1795043582 C Ci:1:001:0 0 4 = 07010000
ffff88042830e7c0 1795043585 S Ci:1:001:0 s a3 00 0000 0008 0004 4 <
ffff88042830e7c0 1795043596 C Ci:1:001:0 0 4 = 00010000
ffff88042830e7c0 1795043598 S Ci:1:001:0 s a3 00 0000 0009 0004 4 <
ffff88042830e7c0 1795043601 C Ci:1:001:0 0 4 = 00010000
ffff88042830e7c0 1795043603 S Ci:1:001:0 s a3 00 0000 000a 0004 4 <
ffff88042830e7c0 1795043606 C Ci:1:001:0 0 4 = 00010000
ffff88042830e7c0 1795043608 S Ci:1:001:0 s a3 00 0000 000b 0004 4 <
ffff88042830e7c0 1795043611 C Ci:1:001:0 0 4 = 00010000
ffff88042830e7c0 1795043615 S Ci:1:001:0 s a3 00 0000 000c 0004 4 <
ffff88042830e7c0 1795043625 C Ci:1:001:0 0 4 = 07050000
ffff88042830e7c0 1795043629 S Ci:1:001:0 s a3 00 0000 000d 0004 4 <
ffff88042830e7c0 1795043640 C Ci:1:001:0 0 4 = 00010000
ffff88042830e7c0 1795043641 S Ci:1:001:0 s a3 00 0000 000e 0004 4 <
ffff88042830e7c0 1795043644 C Ci:1:001:0 0 4 = 00010000
ffff88042830e7c0 1795043646 S Ci:1:001:0 s a3 00 0000 000f 0004 4 <
ffff88042830e7c0 1795043649 C Ci:1:001:0 0 4 = 00010000
ffff8800ad06bac0 1795147238 S Ii:1:001:1 -115:2048 4 <
ffff880427003040 1795147287 S Ci:1:001:0 s a3 00 0000 0006 0004 4 <
ffff880427003040 1795147312 C Ci:1:001:0 0 4 = 00010000
ffff8800ad06bac0 1795147369 C Ii:1:001:1 -2:2048 0


> 
> 
> Index: usb-3.17/drivers/usb/core/hub.c
> ===================================================================
> --- usb-3.17.orig/drivers/usb/core/hub.c
> +++ usb-3.17/drivers/usb/core/hub.c
> @@ -1171,7 +1171,8 @@ static void hub_activate(struct usb_hub
>  			 * check for a new connection
>  			 */
>  			if (udev || (portstatus & USB_PORT_STAT_CONNECTION) ||
> -			    (portstatus & USB_PORT_STAT_OVERCURRENT))
> +			    (portstatus & USB_PORT_STAT_OVERCURRENT) ||
> +			    (portchange & USB_PORT_STAT_C_CONNECTION))
>  				set_bit(port1, hub->change_bits);
>  
>  		} else if (portstatus & USB_PORT_STAT_ENABLE) {
> 
> 
> 

-- 
WBR, Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux