Hi Alan, On Sat, Nov 22, 2014 at 7:55 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > There is no USB wrapper for pm_runtime_idle calls, but one could be > added. Still, in the meantime can you check to see what happens if you > add > > pm_runtime_idle(&usbhid->intf->dev); > > in usbhid_close() just after needs_remote_wakeup is set to 0? You can > do the same thing in usbhid_stop() if you want. I tried using this in lieu of usb_autopm_get/put_interface: usbhid->intf->needs_remote_wakeup = 0; pm_runtime_idle(&usbhid->intf->dev); pm_runtime_idle(usbhid->intf->dev.parent); It did not work. I see the autosuspend_check() that was kicked off as a result of hid_hw_power, which falls into the "remote wakeup needed for autosuspend" branch, but I don't see another autosuspend_check() that picks up the updated value of needs_remote_wakeup. -- Benson Leung Software Engineer, Chrom* OS bleung@xxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html