ChangeSet 1.1327.5.2, 2003/06/16 16:44:06-07:00, willy@debian.org [PATCH] PCI: Unconfuse /proc If we are to cope with multiple domains with clashing PCI bus numbers, we must refrain from creating two directories of the same name in /proc/bus/pci. This is one solution to the problem; busses with a non-zero domain number get it prepended. Alternative solutions include cowardly refusing to create non-domain-zero bus directories, refusing to create directories with clashing names, and sticking our heads in the sand and pretending the problem doesn't exist. drivers/pci/proc.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-) diff -Nru a/drivers/pci/proc.c b/drivers/pci/proc.c --- a/drivers/pci/proc.c Thu Jun 19 16:32:21 2003 +++ b/drivers/pci/proc.c Thu Jun 19 16:32:21 2003 @@ -383,7 +383,11 @@ return -EACCES; if (!(de = bus->procdir)) { - sprintf(name, "%02x", bus->number); + if (pci_domain_nr(bus) == 0) { + sprintf(name, "%02x", bus->number); + } else { + sprintf(name, "%04x:%02x", pci_domain_nr(bus), bus->number); + } de = bus->procdir = proc_mkdir(name, proc_bus_pci_dir); if (!de) return -ENOMEM;