Problem with "driver core: platform: Add an error message to platform_get_irq*()" commit
From: Hans de Goede
Date: Thu Oct 03 2019 - 16:20:34 EST
Hi all,
I've been debugging a new error printed with 5.4-rc1:
[ 25.570893] dwc3 dwc3.0.auto: IRQ peripheral not found
This is caused by the "driver core: platform: Add an error message to platform_get_irq*()"
commit.
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. We also have had a bug report for this:
https://bugzilla.kernel.org/show_bug.cgi?id=205037
Which I will close after this mail since the error is harmless,
still it is sorta scary looking and we should probable silence it.
The best solution I can come up with is adding a new
platform_get_irq_byname_optional mirroring platform_get_irq_optional
and using that in drivers such as the dwc3 driver.
Does anyone have a better suggestion?
Regards,
Hans