Re: [PATCH v4 0/8] Make fw_devlink=on more forgiving

From: Geert Uytterhoeven
Date: Mon Feb 15 2021 - 06:20:50 EST


On Thu, Feb 11, 2021 at 2:00 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> On Fri, Feb 5, 2021 at 11:26 PM Saravana Kannan <saravanak@xxxxxxxxxx> wrote:
> > There are a lot of devices/drivers where they never have a struct device
> > created for them or the driver initializes the hardware without ever
> > binding to the struct device.
> >
> > This series is intended to avoid any boot regressions due to such
> > devices/drivers when fw_devlink=on and also address the handling of
> > optional suppliers.

> - Some devices are reprobed, despite their drivers returning
> a real error code, and not -EPROBE_DEFER:
>
> renesas_wdt e6020000.watchdog: Watchdog blacklisted on r8a7791 ES1.*
> (rwdt_probe() returns -ENODEV)
>
> sh-pfc e6060000.pinctrl: pin GP_7_23 already requested by
> ee090000.pci; cannot claim for e6590000.usb
> sh-pfc e6060000.pinctrl: pin-247 (e6590000.usb) status -22
> sh-pfc e6060000.pinctrl: could not request pin 247
> (GP_7_23) from group usb0 on device sh-pfc
> renesas_usbhs e6590000.usb: Error applying setting,
> reverse things back
> renesas_usbhs: probe of e6590000.usb failed with error -22
>
> rcar-pcie fe000000.pcie: host bridge /soc/pcie@fe000000 ranges:
> rcar-pcie fe000000.pcie: IO
> 0x00fe100000..0x00fe1fffff -> 0x0000000000
> rcar-pcie fe000000.pcie: MEM
> 0x00fe200000..0x00fe3fffff -> 0x00fe200000
> rcar-pcie fe000000.pcie: MEM
> 0x0030000000..0x0037ffffff -> 0x0030000000
> rcar-pcie fe000000.pcie: MEM
> 0x0038000000..0x003fffffff -> 0x0038000000
> rcar-pcie fe000000.pcie: IB MEM
> 0x0040000000..0x00bfffffff -> 0x0040000000
> rcar-pcie fe000000.pcie: IB MEM
> 0x0200000000..0x02ffffffff -> 0x0200000000
> rcar-pcie fe000000.pcie: PCIe link down
> (rcar_pcie_probe() returns -ENODEV)
>
> xhci-hcd ee000000.usb: xHCI Host Controller
> xhci-hcd ee000000.usb: new USB bus registered, assigned bus number 7
> xhci-hcd ee000000.usb: Direct firmware load for
> r8a779x_usb3_v3.dlmem failed with error -2
> xhci-hcd ee000000.usb: can't setup: -2
> xhci-hcd ee000000.usb: USB bus 7 deregistered
> xhci-hcd: probe of ee000000.usb failed with error -2

Consumers are added to the deferred probe pending list before
they are probed, but not removed on probe failure.
Patch sent
"[PATCH] driver core: Fix double failed probing with fw_devlink=on"
https://lore.kernel.org/linux-renesas-soc/20210215111619.2385030-1-geert+renesas@xxxxxxxxx/

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds