diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2013-06-05 12:27:19 -0600 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2013-06-05 12:27:19 -0600 |
commit | bb4bac9308bf8df5027dcbf27f1016104e3a504f (patch) | |
tree | 7c02fddf034225871db208cc6e7fee0f959bcaf3 /drivers/pci/iov.c | |
parent | 06886e8043877d5c439f5e2a3bcf23761bc1ae9d (diff) | |
parent | dfab88beda88d6c24111e5966b08ecf813c3a18a (diff) | |
download | linux-bb4bac9308bf8df5027dcbf27f1016104e3a504f.tar.gz linux-bb4bac9308bf8df5027dcbf27f1016104e3a504f.tar.xz |
Merge branch 'pci/jiang-iov-fixes' into next
* pci/jiang-iov-fixes:
PCI: Hide remove and rescan sysfs interfaces for SR-IOV virtual functions
PCI: Finish SR-IOV VF setup before adding the device
Diffstat (limited to 'drivers/pci/iov.c')
-rw-r--r-- | drivers/pci/iov.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c index c93071d428f5..a971a6f6268d 100644 --- a/drivers/pci/iov.c +++ b/drivers/pci/iov.c @@ -92,6 +92,8 @@ static int virtfn_add(struct pci_dev *dev, int id, int reset) pci_read_config_word(dev, iov->pos + PCI_SRIOV_VF_DID, &virtfn->device); pci_setup_device(virtfn); virtfn->dev.parent = dev->dev.parent; + virtfn->physfn = pci_dev_get(dev); + virtfn->is_virtfn = 1; for (i = 0; i < PCI_SRIOV_NUM_BARS; i++) { res = dev->resource + PCI_IOV_RESOURCES + i; @@ -113,9 +115,6 @@ static int virtfn_add(struct pci_dev *dev, int id, int reset) pci_device_add(virtfn, virtfn->bus); mutex_unlock(&iov->dev->sriov->lock); - virtfn->physfn = pci_dev_get(dev); - virtfn->is_virtfn = 1; - rc = pci_bus_add_device(virtfn); sprintf(buf, "virtfn%u", id); rc = sysfs_create_link(&dev->dev.kobj, &virtfn->dev.kobj, buf); |