Use the uclass_first_device_check and uclass_next_device_check functions instead of uclass_first_device and uclass_next_device in pci_init. This ensures that all PCI devices are tried to be probed. Currently if a device fails to probe, the enumeration stops and the devices which come after the failed device are not probed.
Signed-off-by: Marek Behún <[email protected]> Cc: Stefan Roese <[email protected]> Cc: Anton Schubert <[email protected]> Cc: Dirk Eibach <[email protected]> Cc: Mario Six <[email protected]> Cc: Chris Packham <[email protected]> Cc: Phil Sutter <[email protected]> Cc: VlaoMao <[email protected]> Cc: Tom Rini <[email protected]> --- drivers/pci/pci-uclass.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c index cf1e7617ae..dac7cd3e17 100644 --- a/drivers/pci/pci-uclass.c +++ b/drivers/pci/pci-uclass.c @@ -1502,9 +1502,9 @@ void pci_init(void) * Enumerate all known controller devices. Enumeration has the side- * effect of probing them, so PCIe devices will be enumerated too. */ - for (uclass_first_device(UCLASS_PCI, &bus); + for (uclass_first_device_check(UCLASS_PCI, &bus); bus; - uclass_next_device(&bus)) { + uclass_next_device_check(&bus)) { ; } } -- 2.21.0 _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

