On Wed, 15 Apr 2015, Oliver Neukum wrote: > When usbhid closes a device which was awake only because remote > wakeup was required but not provided, the interface must go through > a get/put cycle or the core will never reattempt to suspend the device. > This brakes runtime PM for all joysticks. > > Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> This seems reasonable, although it would be nice if there was a way to do this without waking up the device if it was already in runtime suspend. Perhaps make the get/put conditional on pm_runtime_active(&usbhid->intf->dev)? It's okay to do the get/put cycle after setting needs_remote_wakeup to 0. By the way, how does the HID core handle the case where the device file is closed long after the device has disconnected? Alan Stern -- 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