On Tue, 17 Jun 2014, Dan Williams wrote: > Commit 9262c19d14c4 "usb: disable port power control if not supported in > wHubCharacteristics" gated enabling runtime pm for usb_port devices on > whether the parent hub supports power control, which causes a > regression. The port must still be allowed to carry out runtime pm > callbacks and receive a -EAGAIN or -EBUSY result. Otherwise the > usb_port device will transition to the pm error state and trigger the > same for the child usb_device. > > Prior to the offending commit usb_hub_create_port_device() arranged for > runtime pm to be disabled is dev_pm_qos_expose_flags() failed. Instead, > force the default state of PM_QOS_FLAG_NO_POWER_OFF flag to be set prior > to enabling runtime pm. If that policy can not be set then fail > registration. This whole thing seems much more complicated than necessary. Instead of messing around with PM-QOS settings, why not just do an extra pm_runtime_get_noresume() if the hub doesn't support power control? Or, what about leaving this code the way it was and changing the PM core (see http://marc.info/?l=linux-pm&m=140303690820354&w=2)? 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