[PATCH v2 6/9] Let subordinate transparent bridges be transparent.
Benjamin Herrenschmidt
benh at kernel.crashing.org
Wed Jun 6 17:06:52 EST 2007
On Mon, 2007-06-04 at 17:30 -0500, Jon Loeliger wrote:
> In pcibios_fixup_bus(), bridges that are subordinate
> to transparent bridges were still relocating their
> IORESOURCE_IO and IO_RESOURCE_MEM 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 <yorksun at freescale.com>
> Signed-off-by: Andy Fleming <afleming at freescale.com>
> Signed-off-by: Jon Loeliger <jdl at freescale.com>
Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> ---
>
> This is the variant that was suggested by Ben H.
>
> arch/powerpc/kernel/pci_32.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
> index e66064b..7738a28 100644
> --- a/arch/powerpc/kernel/pci_32.c
> +++ b/arch/powerpc/kernel/pci_32.c
> @@ -1370,7 +1370,7 @@ void __init pcibios_fixup_bus(struct pci_bus *bus)
> for (i = 0; i < 4; ++i) {
> if ((res = bus->resource[i]) == NULL)
> continue;
> - if (!res->flags)
> + if (!res->flags || bus->self->transparent)
> continue;
> if (io_offset && (res->flags & IORESOURCE_IO)) {
> res->start += io_offset;
More information about the Linuxppc-dev
mailing list