答复: [PATCH] drivers/usb/dwc3: Set PHY ready after soft reset done
From: Fang, Yuan <hidden>
Date: 2021-06-11 07:34:52
Hi Maintainer, Thanks so much for the quick reply. I would like to back ported to older kernels, but I can not figure out to which version is suitable, I can have a check later But merge into the new release version is also acceptable as I think. Thanks again. B.R Yuan Fang -----邮件原件----- 发件人: Greg KH [mailto:gregkh@linuxfoundation.org] 发送时间: 2021年6月11日 15:26 收件人: Yuan Fang 抄送: linux-usb@vger.kernel.org; balbi@kernel.org; Fang, Yuan 主题: Re: [PATCH] drivers/usb/dwc3: Set PHY ready after soft reset done On Fri, Jun 11, 2021 at 03:18:05PM +0800, Yuan Fang wrote:
It's more safe to set PHY ready after soft reset done Let's consider a test case like this: I have a usb PHY which don't need SW initial before access it, But i have a wrong PHY clock default setting in PHY register which means PHY is not ready in fact. in dwc3_core_init, dwc3_core_get_phy will return 0 despite usb get PHYs with return -ENODEV, and set phys_ready=true but at this point, we can not say phys is ready or at least it not safe to do that. then, go on with dwc3_core_soft_reset,dwc3 reset core and PHY, as phy->init is NULL in this case, so, usb_phy_init do nothing and go on with a while loop which cost 1000* 20 ms, and return with -ETIMEDOUT check phys_ready is set to TRUE but actually not. Move phys_ready after soft reset done is more reasonable and don't see side-effect yet. Signed-off-by: Yuan Fang <redacted>
What commit does this "fix"? Should it also be backported to older kernels? If so, how far back? thanks, greg k-h