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 Mon, Oct 06, 2014 at 02:49:29PM -0400, Alan Stern wrote:
> > % echo XHCI | sudo tee /proc/acpi/wakeup
> > % cat /proc/acpi/wakeup| grep XHCI
> > XHCI      S3    *disabled  pci:0000:00:14.0
> 
> The right way to disable wakeup is to write "disabled" to the device's
> power/wakeup attribute in sysfs.  Don't use /proc/acpi/wakeup.

Ok. thanks

> > 4. plug some USB device to port:
> > 
> > [ 1072.724884] xhci_hcd 0000:00:14.0: power state changed by ACPI to D0
> > [ 1072.828927] xhci_hcd 0000:00:14.0: PME# disabled
> > [ 1072.828951] xhci_hcd 0000:00:14.0: enabling bus mastering
> > [ 1072.829114] pci_pm_runtime_suspend(): hcd_pci_runtime_suspend+0x0/0x40 [usbcore] returns -16
> > [ 1072.933036] xhci_hcd 0000:00:14.0: PME# enabled
> > [ 1072.972798] xhci_hcd 0000:00:14.0: power state changed by ACPI to D3cold
> 
> We need to see what's going on here in more detail.  An easy way to 
> start is to acquire a usbmon trace for bus 1 (see 
> Documentation/usb/usbmon.txt for instructions).  Start the trace before 
> plugging in the device and stop it after the device is attached.
> 
> Also, you should enable debugging for usbcore:
> 
> 	echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control
> 
> assuming you have dynamic debugging enabled in your kernel.

[ 2003.227172] hub 2-0:1.0: state 7 ports 6 chg 0000 evt 0000
[ 2003.227228] hub 2-0:1.0: hub_suspend
[ 2003.227233] usb usb2: bus auto-suspend, wakeup 1
[ 2005.251283] usb 1-12: usb auto-suspend, wakeup 0
[ 2007.362546] usb 1-5: usb auto-suspend, wakeup 0
[ 2007.550513] usb 1-7: usb auto-suspend, wakeup 0
[ 2007.566576] hub 1-0:1.0: hub_suspend
[ 2007.566585] usb usb1: bus auto-suspend, wakeup 1
[ 2007.566669] xhci_hcd 0000:00:14.0: hcd_pci_runtime_suspend: 0
[ 2007.566704] xhci_hcd 0000:00:14.0: PME# enabled
[ 2007.594484] xhci_hcd 0000:00:14.0: power state changed by ACPI to D3cold

--- device plugged ---

[ 2116.861499] xhci_hcd 0000:00:14.0: power state changed by ACPI to D0
[ 2116.962998] xhci_hcd 0000:00:14.0: PME# disabled
[ 2116.963015] xhci_hcd 0000:00:14.0: enabling bus mastering
[ 2116.963094] xhci_hcd 0000:00:14.0: hcd_pci_runtime_resume: 0
[ 2116.963102] xhci_hcd 0000:00:14.0: hcd_pci_runtime_suspend: -16
[ 2116.963138] pci_pm_runtime_suspend(): hcd_pci_runtime_suspend+0x0/0x40 [usbcore] returns -16
[ 2116.963140] usb usb1: usb wakeup-resume
[ 2116.963152] usb usb1: usb auto-resume
[ 2116.963185] hub 1-0:1.0: hub_resume
[ 2116.963240] usb usb1-port5: status 0107 change 0000
[ 2116.963263] usb usb1-port7: status 0107 change 0000
[ 2116.963316] usb usb1-port12: status 0507 change 0000
[ 2117.066893] hub 1-0:1.0: state 7 ports 15 chg 0000 evt 0000
[ 2117.066906] hub 1-0:1.0: hub_suspend
[ 2117.066927] usb usb1: bus auto-suspend, wakeup 1
[ 2117.066999] xhci_hcd 0000:00:14.0: hcd_pci_runtime_suspend: 0
[ 2117.067035] xhci_hcd 0000:00:14.0: PME# enabled
[ 2117.106879] xhci_hcd 0000:00:14.0: power state changed by ACPI to D3cold

dump of /sys/kernel/debug/usb/usbmon/1u

ffff880429206040 1870921236 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
ffff880429206040 1870921256 C Ci:1:001:0 0 4 = 00010000
ffff880429206040 1870921260 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
ffff880429206040 1870921268 C Ci:1:001:0 0 4 = 00010000
ffff880429206040 1870921270 S Ci:1:001:0 s a3 00 0000 0003 0004 4 <
ffff880429206040 1870921273 C Ci:1:001:0 0 4 = 00010000
ffff880429206040 1870921275 S Ci:1:001:0 s a3 00 0000 0004 0004 4 <
ffff880429206040 1870921278 C Ci:1:001:0 0 4 = 00010000
ffff880429206040 1870921279 S Ci:1:001:0 s a3 00 0000 0005 0004 4 <
ffff880429206040 1870921282 C Ci:1:001:0 0 4 = 07010000
ffff880429206040 1870921287 S Ci:1:001:0 s a3 00 0000 0006 0004 4 <
ffff880429206040 1870921295 C Ci:1:001:0 0 4 = 00010100
ffff880429206040 1870921297 S Co:1:001:0 s 23 01 0010 0006 0000 0
ffff880429206040 1870921301 C Co:1:001:0 0 0
ffff880429206040 1870921303 S Ci:1:001:0 s a3 00 0000 0007 0004 4 <
ffff880429206040 1870921306 C Ci:1:001:0 0 4 = 07010000
ffff880429206040 1870921309 S Ci:1:001:0 s a3 00 0000 0008 0004 4 <
ffff880429206040 1870921321 C Ci:1:001:0 0 4 = 00010000
ffff880429206040 1870921323 S Ci:1:001:0 s a3 00 0000 0009 0004 4 <
ffff880429206040 1870921331 C Ci:1:001:0 0 4 = 00010000
ffff880429206040 1870921333 S Ci:1:001:0 s a3 00 0000 000a 0004 4 <
ffff880429206040 1870921339 C Ci:1:001:0 0 4 = 00010000
ffff880429206040 1870921341 S Ci:1:001:0 s a3 00 0000 000b 0004 4 <
ffff880429206040 1870921344 C Ci:1:001:0 0 4 = 00010000
ffff880429206040 1870921348 S Ci:1:001:0 s a3 00 0000 000c 0004 4 <
ffff880429206040 1870921359 C Ci:1:001:0 0 4 = 07050000
ffff880429206040 1870921363 S Ci:1:001:0 s a3 00 0000 000d 0004 4 <
ffff880429206040 1870921374 C Ci:1:001:0 0 4 = 00010000
ffff880429206040 1870921383 S Ci:1:001:0 s a3 00 0000 000e 0004 4 <
ffff880429206040 1870921395 C Ci:1:001:0 0 4 = 00010000
ffff880429206040 1870921398 S Ci:1:001:0 s a3 00 0000 000f 0004 4 <
ffff880429206040 1870921405 C Ci:1:001:0 0 4 = 00010000
ffff8803fdd93100 1871024959 S Ii:1:001:1 -115:2048 4 <
ffff8803fdd93100 1871024996 C Ii:1:001:1 -2:2048 0

Just after this port seems to be completely died. Unplugging and plugging
device don't produce any new messages (checked both dmesg and usbmon)

-- 
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