[PATCH] powerpc: fix pci domain detection
Benjamin Herrenschmidt
benh at kernel.crashing.org
Tue Oct 2 13:16:49 EST 2007
On Wed, 2007-09-26 at 16:02 +0200, Arnd Bergmann wrote:
> The /proc/bus/pci/* files list PCI domain numbers only for
> devices that claim to be on a multi-domain system. The check
> for this is broken on powerpc, because the buid value is
> truncated to 32 bits.
>
> There is at least one machine (IBM QS21) that only uses
> the high-order bits of the buid, so the return value
> of pci_proc_domain() ends up being always zero, which
> makes /proc/bus/pci useless.
>
> Change the logic to always return '1' for a nonzero
> buid value.
>
> Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>
Good catch !
Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
>
> diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
> index 291ffbc..9f63bdc 100644
> --- a/arch/powerpc/kernel/pci_64.c
> +++ b/arch/powerpc/kernel/pci_64.c
> @@ -588,7 +588,7 @@ int pci_proc_domain(struct pci_bus *bus)
> return 0;
> else {
> struct pci_controller *hose = pci_bus_to_host(bus);
> - return hose->buid;
> + return hose->buid != 0;
> }
> }
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
More information about the Linuxppc-dev
mailing list