Bug 205037

Summary: dwc3 dwc3.1.auto: IRQ peripheral not found
Product: Drivers Reporter: youling257
Component: USBAssignee: Greg Kroah-Hartman (greg)
Status: RESOLVED DOCUMENTED    
Severity: normal CC: jwrdegoede, youling257
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: master Subsystem:
Regression: No Bisected commit-id:

Description youling257 2019-09-29 16:00:16 UTC
Linux 5.3, modprobe: /sbin/modprobe ulpi:v0451p1507
[   11.042691] dwc3 dwc3.3.auto: changing max_speed on rev 5533210a
[   11.236007] checking generic (80000000 8d0000) vs hw (80000000 10000000)

Linux 5.4, [    8.498548] dwc3 dwc3.1.auto: IRQ peripheral not found
[    8.517017] dwc3 dwc3.1.auto: changing max_speed on rev 5533210a
[    8.691233] checking generic (80000000 8d0000) vs hw (80000000 10000000)

my device is BYTCR z3735f with tusb1210 otg chip.
Comment 1 Hans de Goede 2019-09-30 08:21:34 UTC
I guess this is a regression in 5.3, compared to running 5.2 ?

Also on which device is this exactly? I may have the same tablet which will make reproducing this easier.
Comment 2 Greg Kroah-Hartman 2019-09-30 14:08:33 UTC
On Sun, Sep 29, 2019 at 04:00:16PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=205037
> 
>             Bug ID: 205037
>            Summary: dwc3 dwc3.1.auto: IRQ peripheral not found
>            Product: Drivers
>            Version: 2.5


All USB bugs should be sent to the linux-usb@vger.kernel.org mailing
list, and not entered into bugzilla.  Please bring this issue up there,
if it is still a problem in the latest kernel release.
Comment 3 youling257 2019-10-01 03:04:12 UTC
(In reply to Hans de Goede from comment #1)
> I guess this is a regression in 5.3, compared to running 5.2 ?
> 
> Also on which device is this exactly? I may have the same tablet which will
> make reproducing this easier.

Linux 5.4rc1.
Comment 4 Hans de Goede 2019-10-03 20:20:15 UTC
This is caused by the "driver core: platform: Add an error message to platform_get_irq*()" commit which is new in 5.4-rc1.

The dwc3 driver first tries to get the IRQ by 2 different names before falling
back to the IRQ at index 0:

        irq = platform_get_irq_byname(dwc3_pdev, "peripheral");
        if (irq > 0)
                goto out;

        if (irq == -EPROBE_DEFER)
                goto out;

        irq = platform_get_irq_byname(dwc3_pdev, "dwc_usb3");
        if (irq > 0)
                goto out;

        if (irq == -EPROBE_DEFER)
                goto out;

        irq = platform_get_irq(dwc3_pdev, 0);

Together with the mentioned commit, this is causing this new (harmless)
error message.

I've started a discussion on the list on how to silence this error, but other then that it looks a bit scary it is completely harmless and can safely be ignored.
Comment 5 Hans de Goede 2019-10-05 21:05:39 UTC
I've just send a patch series upstream which adds a new platform_get_irq_byname_optional() function and uses that in the dwc3 driver to silence this false-positive error.