]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
pci: coreboot: Don't read regions when booting
authorSimon Glass <sjg@chromium.org>
Thu, 4 May 2023 22:55:01 +0000 (16:55 -0600)
committerBin Meng <bmeng@tinylab.org>
Thu, 11 May 2023 02:25:29 +0000 (10:25 +0800)
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 <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Fixes: f2ebaaa9f38d ("pci: Handle failed calloc in decode_regions()")
Tested-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
drivers/pci/pci-uclass.c

index 9343cfc62a968c0227dda6591de4fcfaad275f1a..8d27e40338cf1deeee08dd0b59c13308c83a9e86 100644 (file)
@@ -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__);