Don't cache the new-bus name of a PCI device in the PCI conf structure,
but reread it from the device_t every time the device list is fetched. Previously the device name in pciconf -l would not be updated when a driver was unloaded or if a device was detached and attached to a different driver. MFC after: 1 week PR: kern/104777 Submitted by: "Iasen Kostoff" tbyte | otel net
This commit is contained in:
parent
0957a8f3c9
commit
837d10831d
@ -467,7 +467,7 @@ pci_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *t
|
||||
|
||||
/* Populate pd_name and pd_unit */
|
||||
name = NULL;
|
||||
if (dinfo->cfg.dev && dinfo->conf.pd_name[0] == '\0')
|
||||
if (dinfo->cfg.dev)
|
||||
name = device_get_name(dinfo->cfg.dev);
|
||||
if (name) {
|
||||
strncpy(dinfo->conf.pd_name, name,
|
||||
@ -475,6 +475,9 @@ pci_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *t
|
||||
dinfo->conf.pd_name[PCI_MAXNAMELEN] = 0;
|
||||
dinfo->conf.pd_unit =
|
||||
device_get_unit(dinfo->cfg.dev);
|
||||
} else {
|
||||
dinfo->conf.pd_name[0] = '\0';
|
||||
dinfo->conf.pd_unit = 0;
|
||||
}
|
||||
|
||||
#ifdef PRE7_COMPAT
|
||||
|
Loading…
x
Reference in New Issue
Block a user