[PATCH 1/3] Let subordinate transparent bridges be transparent.
From: Jon Loeliger <hidden>
Date: 2007-05-29 18:22:59
From: York Sun <redacted> In pcibios_fixup_bus(), bridges that are subordinate to transparent bridges were still relocating their IORESOURCE_IO start and end values. Fix this by preventing the transparent bridge from relocating the start and end values, thus allowing the subordinate non-transparent bridge full molestation rights. Signed-off-by: York Sun <redacted> Signed-off-by: Andy Fleming <redacted> Signed-off-by: Jon Loeliger <redacted> --- arch/powerpc/kernel/pci_32.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index e66064b..102264c 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c@@ -1372,7 +1372,9 @@ void __init pcibios_fixup_bus(struct pci_bus *bus) continue; if (!res->flags) continue; - if (io_offset && (res->flags & IORESOURCE_IO)) { + if (!bus->self->transparent + && io_offset + && (res->flags & IORESOURCE_IO)) { res->start += io_offset; res->end += io_offset; } else if (hose->pci_mem_offset