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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to