diff options
Diffstat (limited to 'drivers/pci/iov.c')
-rw-r--r-- | drivers/pci/iov.c | 4 |
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 | ||
453 | found: | 455 | found: |
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++) { |