From: Simon Glass Date: Wed, 25 Sep 2019 14:55:46 +0000 (-0600) Subject: dm: core: Correct low cell in ofnode_read_pci_addr() X-Git-Tag: v2019.10~5^2~1 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e587886a6112e476a74a26e6cf7068a23723097c;p=oweals%2Fu-boot.git dm: core: Correct low cell in ofnode_read_pci_addr() This reads the low cell of the PCI address from the wrong cell. Fix it. Also fix the function that this code came from. Fixes: 9e51204527 (dm: core: Add operations on device tree references) Fixes: 4ea5243a3a (fdt: fix fdtdec_get_pci_addr() for CONFIG_PHYS_64BIT) Signed-off-by: Simon Glass Tested-by: Stephen Warren Reviewed-by: Bin Meng --- diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index 7eca00cd66..5d47eccf1d 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -617,7 +617,7 @@ int ofnode_read_pci_addr(ofnode node, enum fdt_pci_space type, if ((fdt32_to_cpu(*cell) & type) == type) { addr->phys_hi = fdt32_to_cpu(cell[0]); addr->phys_mid = fdt32_to_cpu(cell[1]); - addr->phys_lo = fdt32_to_cpu(cell[1]); + addr->phys_lo = fdt32_to_cpu(cell[2]); break; } diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 74525c84e7..74430c8b2f 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -217,7 +217,7 @@ int fdtdec_get_pci_addr(const void *blob, int node, enum fdt_pci_space type, if ((fdt32_to_cpu(*cell) & type) == type) { addr->phys_hi = fdt32_to_cpu(cell[0]); addr->phys_mid = fdt32_to_cpu(cell[1]); - addr->phys_lo = fdt32_to_cpu(cell[1]); + addr->phys_lo = fdt32_to_cpu(cell[2]); break; }