The vendor and device IDs may be different when using sysfs and proc
methods with bus centric view enabled. The sysfs method reads the IDs
from the configuration space rather than uses the values from sysfs
entries. But the proc method always uses values from the proc files.
This fix makes the proc method use the values from the configuration
space too for bus centric view.
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
d->func = PCI_FUNC(dfn & 0xff);
d->vendor_id = vend >> 16U;
d->device_id = vend & 0xffff;
- known = PCI_FILL_IDENT;
+ known = 0;
if (!a->buscentric)
{
- known |= PCI_FILL_IRQ | PCI_FILL_BASES;
+ known |= PCI_FILL_IDENT | PCI_FILL_IRQ | PCI_FILL_BASES;
if (cnt >= 10)
known |= PCI_FILL_ROM_BASE;
if (cnt >= 17)