Page MenuHomeFreeBSD

D34248.id102666.diff
No OneTemporary

D34248.id102666.diff

diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h
--- a/sys/compat/linuxkpi/common/include/linux/pci.h
+++ b/sys/compat/linuxkpi/common/include/linux/pci.h
@@ -277,6 +277,7 @@
size_t romlen;
TAILQ_HEAD(, pci_mmio_region) mmio;
+ char *path_name;
};
/* We need some meta-struct to keep track of these for devres. */
@@ -378,8 +379,7 @@
static inline const char *
pci_name(struct pci_dev *d)
{
-
- return device_get_desc(d->dev.bsddev);
+ return d->path_name;
}
static inline void *
diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c
--- a/sys/compat/linuxkpi/common/src/linux_pci.c
+++ b/sys/compat/linuxkpi/common/src/linux_pci.c
@@ -277,6 +277,8 @@
pdev->subsystem_device = pci_get_subdevice(dev);
pdev->class = pci_get_class(dev);
pdev->revision = pci_get_revid(dev);
+ pdev->path_name = kasprintf(GFP_KERNEL, "%04d:%02d:%02d.%d",
+ pci_get_domain(dev), pci_get_bus(dev), pci_get_slot(dev), pci_get_function(dev));
pdev->bus = malloc(sizeof(*pdev->bus), M_DEVBUF, M_WAITOK | M_ZERO);
pdev->bus->self = pdev;
pdev->bus->number = pci_get_bus(dev);
@@ -302,6 +304,7 @@
if (pdev->root != NULL)
pci_dev_put(pdev->root);
free(pdev->bus, M_DEVBUF);
+ kfree(pdev->path_name);
free(pdev, M_DEVBUF);
}

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 26, 6:24 AM (6 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24217105
Default Alt Text
D34248.id102666.diff (1 KB)

Event Timeline