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

Reply via email to