I believe I have found the root cause of this issue.
Before commit 6d23ee9caa6790aea047f9aca7f3c03cb8d96eb6
|_dwc2_hcd_suspend() did not end up calling dwc2_enter_hibernation(),
which was renamed to dwc2_enter_partial_power_down() in the same commit.
_dwc2_hcd_suspend() skipped |
||dwc2_enter_partial_power_down() because of these lines:||
|if (!hsotg->params.hibernation){ goto skip_power_saving; } which now reads:
||if (!hsotg->params.power_down){ goto skip_power_saving; } The problem is,
params.power_down does not default to 0 like params.hibernation did so
|||dwc2_enter_partial_power_down() gets called|, the controller puts the port
into partial power down, and doesn't correctly leave when a device is plugged
in causing the port to be unusable. I've submitted a patch to the list to
address this on rockchip devices: [PATCH] usb: dwc2: disable power_down on
rockchip devices |||
||||
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html