|
@@ -329,6 +329,10 @@ static void pci_read_bases(struct pci_dev *dev, unsigned int howmany, int rom)
|
|
if (dev->non_compliant_bars)
|
|
if (dev->non_compliant_bars)
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
+ /* Per PCIe r4.0, sec 9.3.4.1.11, the VF BARs are all RO Zero */
|
|
|
|
+ if (dev->is_virtfn)
|
|
|
|
+ return;
|
|
|
|
+
|
|
for (pos = 0; pos < howmany; pos++) {
|
|
for (pos = 0; pos < howmany; pos++) {
|
|
struct resource *res = &dev->resource[pos];
|
|
struct resource *res = &dev->resource[pos];
|
|
reg = PCI_BASE_ADDRESS_0 + (pos << 2);
|
|
reg = PCI_BASE_ADDRESS_0 + (pos << 2);
|