<div dir="ltr"><div><div>Hi,</div><div><br></div><div>According to Documentation/usb/power-management.txt, &#39;Remote Wakeup&#39; is defined as the device&#39;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.</div><div><br></div><div>So I would expect that a runtime suspended USB controller with the &#39;wakeup&#39; attribute showing &quot;disabled&quot; 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.</div><div><br></div><div>Is my interpretation of the documentation incorrect?</div><div>Probably the &#39;wakeup&#39; 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 &quot;user interface for dynamic PM&quot; confuses me.</div><div><br></div><div>I&#39;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.</div><div><br></div><div><br></div><div>I&#39;m using a 3.12.17 kernel and these are the steps that I&#39;m following:</div><div><br></div><div>#cat /sys/devices/pci0000:00/0000:00:14.0/power/runtime_status</div><div>active</div><div>#echo disabled &gt; /sys/devices/pci0000:00/0000:00:14.0/power/wakeup</div><div>#echo auto &gt; /sys/devices/pci0000:00/0000:00:14.0/power/control</div><div>#cat /sys/devices/pci0000:00/0000:00:14.0/power/runtime_status</div><div>suspended</div><div>&lt;&lt;plug in a usb device&gt;&gt;</div><div>#cat /sys/devices/pci0000:00/0000:00:14.0/power/runtime_status</div><div>active</div></div><div>&lt;&lt;controller is active, is that expected?&gt;&gt;<br></div><div><br></div><div>Thanks,<br></div><div>Ricardo</div></div>