USB controller wakes up even if wakeup attribute shows disabled.

Ricardo Martinez oscar2357 at gmail.com
Mon Apr 4 14:00:00 EDT 2016


Hi,

According to Documentation/usb/power-management.txt, 'Remote Wakeup' is
defined as the device's capability of resuming by itself. Also, the same
file mentions that power/wakeup determines whether or not Remote Wakeup
will be enabled when the device is next suspended.

So I would expect that a runtime suspended USB controller with the 'wakeup'
attribute showing "disabled" should remain suspended even if a device gets
connected to a USB port, but I see the controller still waking up to attend
the device that was just plugged in.

Is my interpretation of the documentation incorrect?
Probably the 'wakeup' attribute is used only to wakeup from a system-wide
suspended state (not runtime PM)? but the fact that it is documented as
part of the "user interface for dynamic PM" confuses me.

I've been looking at the kernel src code and seems like disabling wakeup
just removes the controller as a wakeup source but the PME still gets
enabled before the controller goes to suspend so the PME is still triggered
when a device is plugged in and the controller wakes up.


I'm using a 3.12.17 kernel and these are the steps that I'm following:

#cat /sys/devices/pci0000:00/0000:00:14.0/power/runtime_status
active
#echo disabled > /sys/devices/pci0000:00/0000:00:14.0/power/wakeup
#echo auto > /sys/devices/pci0000:00/0000:00:14.0/power/control
#cat /sys/devices/pci0000:00/0000:00:14.0/power/runtime_status
suspended
<<plug in a usb device>>
#cat /sys/devices/pci0000:00/0000:00:14.0/power/runtime_status
active
<<controller is active, is that expected?>>

Thanks,
Ricardo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20160404/8e943dd7/attachment.html 


More information about the Kernelnewbies mailing list