Re: usb: dwc3: some USB devices not working after 6.4.8

From: Bagas Sanjaya
Date: Sun Sep 03 2023 - 19:54:00 EST


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.
> 1) 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@xxxxxxxxxx>
> 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@xxxxxxxxxx>
> Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx>
> Acked-by: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>
> Link: https://lore.kernel.org/r/20230627162018.739-1-jszhang@xxxxxxxxxx
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
> 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=v6.4.8&id=317d6e4c12b46bde61248ea4ab5e19f68cbd1c57
>

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

--
An old man doll... just what I always wanted! - Clara

Attachment: signature.asc
Description: PGP signature