From 21e3384aee0332966ad3a31eecd6764df11ccbd9 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 4 May 2023 16:55:01 -0600 Subject: [PATCH] pci: coreboot: Don't read regions when booting When U-Boot is the second-stage bootloader, PCI is already set up. We cannot read the regions from the device tree. There is no point anyway, since PCI devices have already been allocated according to the regions and it is not safe for U-Boot to make any changes. Signed-off-by: Simon Glass Reviewed-by: Bin Meng Fixes: 2165728c3e11 ("pci: Handle failed calloc in decode_regions()") Tested-by: Christian Gmeiner Tested-by: Bin Meng --- drivers/pci/pci-uclass.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c index 9343cfc62a..8d27e40338 100644 --- a/drivers/pci/pci-uclass.c +++ b/drivers/pci/pci-uclass.c @@ -973,6 +973,10 @@ static int decode_regions(struct pci_controller *hose, ofnode parent_node, int len; int i; + /* handle booting from coreboot, etc. */ + if (!ll_boot_init()) + return 0; + prop = ofnode_get_property(node, "ranges", &len); if (!prop) { debug("%s: Cannot decode regions\n", __func__); -- 2.39.5