aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/iov.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/iov.c')
-rw-r--r--drivers/pci/iov.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index 6a4d70386a3d..0321fa3b4226 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -347,6 +347,8 @@ static int sriov_enable(struct pci_dev *dev, int nr_virtfn)
347 return rc; 347 return rc;
348 } 348 }
349 349
350 pci_write_config_dword(dev, iov->pos + PCI_SRIOV_SYS_PGSIZE, iov->pgsz);
351
350 iov->ctrl |= PCI_SRIOV_CTRL_VFE | PCI_SRIOV_CTRL_MSE; 352 iov->ctrl |= PCI_SRIOV_CTRL_VFE | PCI_SRIOV_CTRL_MSE;
351 pci_cfg_access_lock(dev); 353 pci_cfg_access_lock(dev);
352 pci_write_config_word(dev, iov->pos + PCI_SRIOV_CTRL, iov->ctrl); 354 pci_write_config_word(dev, iov->pos + PCI_SRIOV_CTRL, iov->ctrl);
@@ -452,7 +454,6 @@ static int sriov_init(struct pci_dev *dev, int pos)
452 454
453found: 455found:
454 pci_write_config_word(dev, pos + PCI_SRIOV_CTRL, ctrl); 456 pci_write_config_word(dev, pos + PCI_SRIOV_CTRL, ctrl);
455 pci_write_config_word(dev, pos + PCI_SRIOV_NUM_VF, total);
456 pci_read_config_word(dev, pos + PCI_SRIOV_VF_OFFSET, &offset); 457 pci_read_config_word(dev, pos + PCI_SRIOV_VF_OFFSET, &offset);
457 pci_read_config_word(dev, pos + PCI_SRIOV_VF_STRIDE, &stride); 458 pci_read_config_word(dev, pos + PCI_SRIOV_VF_STRIDE, &stride);
458 if (!offset || (total > 1 && !stride)) 459 if (!offset || (total > 1 && !stride))
@@ -465,7 +466,6 @@ found:
465 return -EIO; 466 return -EIO;
466 467
467 pgsz &= ~(pgsz - 1); 468 pgsz &= ~(pgsz - 1);
468 pci_write_config_dword(dev, pos + PCI_SRIOV_SYS_PGSIZE, pgsz);
469 469
470 nres = 0; 470 nres = 0;
471 for (i = 0; i < PCI_SRIOV_NUM_BARS; i++) { 471 for (i = 0; i < PCI_SRIOV_NUM_BARS; i++) {