On Sun, Sep 03, 2023 at 09:19:13PM +0900, Kenta Sato wrote:
Hi,
I am using the FriendlyElec NanoPi R4S board. When I update the kernel from 6.4.7 to 6.4.11, 6.4.13, and 6.5.1, it doesn't recognize some USB devices.
The board has two USB 3.0 ports. I connected 1) BUFFALO USB Flash Disk (high-speed) and 2) NETGEAR A6210 (SuperSpeed) to each port.
- is often not recognized. On the other hand, 2) was working while I
was testing. Regardless of whether a USB device is connected, I could see the below message on dmesg:
[ 0.740993] phy phy-ff7c0000.phy.8: phy poweron failed --> -110 [ 0.741585] dwc3 fe800000.usb: error -ETIMEDOUT: failed to initialize core [ 0.742334] dwc3: probe of fe800000.usb failed with error -110 [ 0.751635] rockchip-usb2phy ff770000.syscon:usb2phy@e460: Requested PHY is disabled
Is there any idea on this?
The cause seems to be related to this commit. I tried reverting this change and the issue seemed to be solved.
From 317d6e4c12b46bde61248ea4ab5e19f68cbd1c57 Mon Sep 17 00:00:00 2001
From: Jisheng Zhang jszhang@kernel.org Date: Wed, 28 Jun 2023 00:20:18 +0800 Subject: usb: dwc3: don't reset device side if dwc3 was configured as host-only
commit e835c0a4e23c38531dcee5ef77e8d1cf462658c7 upstream.
Commit c4a5153e87fd ("usb: dwc3: core: Power-off core/PHYs on system_suspend in host mode") replaces check for HOST only dr_mode with current_dr_role. But during booting, the current_dr_role isn't initialized, thus the device side reset is always issued even if dwc3 was configured as host-only. What's more, on some platforms with host only dwc3, aways issuing device side reset by accessing device register block can cause kernel panic.
Fixes: c4a5153e87fd ("usb: dwc3: core: Power-off core/PHYs on system_suspend in host mode") Cc: stable stable@kernel.org Signed-off-by: Jisheng Zhang jszhang@kernel.org Acked-by: Thinh Nguyen Thinh.Nguyen@synopsys.com Link: https://lore.kernel.org/r/20230627162018.739-1-jszhang@kernel.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
drivers/usb/dwc3/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v...
Thanks for the regression report. I'm adding it to regzbot:
#regzbot ^introduced: e835c0a4e23c38 #regzbot title: some USB devices unrecognized caused by not resetting dwc3 device if it is host-only