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
_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to