Commit 1e57af5 removed macros HWLOC_HAVE_PCI_FIND_CAP,
HWLOC_HAVE_PCIDEV_DOMAIN, and HWLOC_HAVE_LIBPCIACCESS.
However, these are still referenced in src/topology-pci.c.
Specifically, the check to see if HWLOC_HAVE_LIBPCIACCESS or
HWLOC_HAVE_PCIDEV_DOMAIN will always be false, resulting in
domain being set to zero, rather than always being pcidev->domain.
The other change is not a bug, just removal of dead code.
---
src/topology-pci.c | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/src/topology-pci.c b/src/topology-pci.c
index f8a3cec..1382025 100644
--- a/src/topology-pci.c
+++ b/src/topology-pci.c
@@ -117,9 +117,6 @@ hwloc_look_pci(struct hwloc_backend *backend)
unsigned short tmp16;
char name[128];
unsigned offset;
-#ifdef HWLOC_HAVE_PCI_FIND_CAP
- struct pci_cap *cap;
-#endif
/* initialize the config space in case we fail to read it (missing
permissions, etc). */
memset(config_space_cache, 0xff, CONFIG_SPACE_CACHESIZE);
@@ -127,11 +124,7 @@ hwloc_look_pci(struct hwloc_backend *backend)
pci_device_cfg_read(pcidev, config_space_cache, 0, CONFIG_SPACE_CACHESIZE,
NULL);
/* try to read the domain */
-#if (defined HWLOC_HAVE_LIBPCIACCESS) || (defined HWLOC_HAVE_PCIDEV_DOMAIN)
domain = pcidev->domain;
-#else
- domain = 0; /* default domain number */
-#endif
/* try to read the device_class */
device_class = pcidev->device_class >> 8;
@@ -150,12 +143,7 @@ hwloc_look_pci(struct hwloc_backend *backend)
obj->attr->pcidev.revision = config_space_cache[PCI_REVISION_ID];
obj->attr->pcidev.linkspeed = 0; /* unknown */
-#ifdef HWLOC_HAVE_PCI_FIND_CAP
- cap = pci_find_cap(pcidev, PCI_CAP_ID_EXP, PCI_CAP_NORMAL);
- offset = cap ? cap->addr : 0;
-#else
offset = hwloc_pci_find_cap(config_space_cache, PCI_CAP_ID_EXP);
-#endif /* HWLOC_HAVE_PCI_FIND_CAP */
if (0xffff == pcidev->vendor_id && 0xffff == pcidev->device_id) {
/* SR-IOV puts ffff:ffff in Virtual Function config space.
--
1.7.12.4