wrapper: Use the child-bus #address-cells to decide which range entry to use

Message ID 20081219201309.GB2077@loki.buserror.net
State Accepted, archived
Commit 49e6e3f1aec2d46f5865d3ada38fe9a5d660ef5d
Delegated to: Paul Mackerras
Headers show

Commit Message

Scott Wood Dec. 19, 2008, 8:13 p.m.
The correct #address-cells was still used for the actual translation,
so the impact is only a possibility of choosing the wrong range entry
or failing to find any match.  Most common cases were not affected.

Signed-off-by: Scott Wood <scottwood@freescale.com>
 arch/powerpc/boot/devtree.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


diff --git a/arch/powerpc/boot/devtree.c b/arch/powerpc/boot/devtree.c
index 5d12336..a7e21a3 100644
--- a/arch/powerpc/boot/devtree.c
+++ b/arch/powerpc/boot/devtree.c
@@ -213,7 +213,7 @@  static int find_range(u32 *reg, u32 *ranges, int nregaddr,
 		u32 range_addr[MAX_ADDR_CELLS];
 		u32 range_size[MAX_ADDR_CELLS];
-		copy_val(range_addr, ranges + i, naddr);
+		copy_val(range_addr, ranges + i, nregaddr);
 		copy_val(range_size, ranges + i + nregaddr + naddr, nsize);
 		if (compare_reg(reg, range_addr, range_size))