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 <[EMAIL PROTECTED]>
Good catch ! Acked-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]> > > 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@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-dev _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev