aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-05-14 01:01:18 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-05-14 01:01:18 -0400
commit49d23cfcec5d36a91e118d28148d353bf8f0bc03 (patch)
tree676effacdd207a8be537c594fb449a52fe3608ec /arch/sparc64
parent7a05b591a3de20466a775f62369a42ea0fe1345d (diff)
[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>
Diffstat (limited to 'arch/sparc64')
-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 7455f5d05519..16cc46a71872 100644
--- a/arch/sparc64/kernel/of_device.c
+++ b/arch/sparc64/kernel/of_device.c
@@ -537,6 +537,13 @@ static int __init build_one_resource(struct device_node *parent,
537 return 0; 537 return 0;
538 } 538 }
539 539
540 /* When we miss an I/O space match on PCI, just pass it up
541 * to the next PCI bridge and/or controller.
542 */
543 if (!strcmp(bus->name, "pci") &&
544 (addr[0] & 0x03000000) == 0x01000000)
545 return 0;
546
540 return 1; 547 return 1;
541} 548}
542 549