On 2021/3/26 15:51, LeoLiu-oc wrote:
On 2021/3/26 下午12:23, Tony W Wang-oc wrote:
On 26/03/2021 11:11, Hanjun Guo wrote:
On 2021/3/25 18:09, LeoLiu-oc wrote:
During polling phase after some device plug in type-c port, if polling timeout three times, link state will goto inactive. However this event not handle by the driver, which will cause device can't be recognized. To fix this issue, if port link state detected in inactive, record this event that will trigger a warm reset to bring device identified by driver.
The patch is scheduled to be submitted to the kernel mainline in 2021.
Signed-off-by: LeoLiu-oc LeoLiu-oc@zhaoxin.com
drivers/usb/core/hub.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index fa28f23a4a33..302caa1ea345 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -1135,6 +1135,11 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type) USB_SS_PORT_LS_POLLING)) need_debounce_delay = true;
+ /* Make sure a warm-reset request is handled by port_event */ + if (type == HUB_RESUME && + hub_port_warm_reset_required(hub, port1, portstatus)) + set_bit(port1, hub->event_bits);
Make sure only happens for Zhaoxin platform.
Not only for Zhaoxin platform. Refer to upsteam patch 4fdc1790e6a9ef22399c6bc6e63b80f4609f3b7e. Will send V2 followed openeuler patch format.
Sincerely TonyWWangoc
As our inspection, this patch has been included in the current openeuler kernel, so this patch does not need to be submiited any more.
Yes, merged by backporting LTS patches. we will make sure it will backport to openEuler LTS kernel.
Thanks Hanjun