summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Miller <davem@davemloft.net>2007-05-15 01:46:19 -0700
committerChris Wright <chrisw@sous-sol.org>2007-05-23 14:32:52 -0700
commit6514fa9654088de79c80454d320e228c624a2ec4 (patch)
tree3c518ee7b6d599fd404870829d44a64bdcfe910a
parent8492a8ba651bff5fdba0b0a4c8dadde6909bd72d (diff)
[PATCH] SPARC64: Be more resiliant with PCI I/O space regs.
If we miss on the ranges, just toss the translation up to the parent instead of failing. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Chris Wright <chrisw@sous-sol.org>
-rw-r--r--arch/sparc64/kernel/of_device.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c
index fb9bf1e4d036..f56569f74435 100644
--- a/arch/sparc64/kernel/of_device.c
+++ b/arch/sparc64/kernel/of_device.c
@@ -508,6 +508,13 @@ static int __init build_one_resource(struct device_node *parent,
return 0;
}
+ /* When we miss an I/O space match on PCI, just pass it up
+ * to the next PCI bridge and/or controller.
+ */
+ if (!strcmp(bus->name, "pci") &&
+ (addr[0] & 0x03000000) == 0x01000000)
+ return 0;
+
return 1;
}