summaryrefslogtreecommitdiff
path: root/drivers/pci/iov.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2018-07-19 23:11:52 +0200
committerThomas Gleixner <tglx@linutronix.de>2018-07-19 23:11:52 +0200
commit73ab603f44149ff48889d5109ea9ab64bf38cc69 (patch)
tree9550d8fb31ddf6dffedf1f602ed44769e529c1d3 /drivers/pci/iov.c
parent41afb1dfad4d6af0c716746f6a15f3230482955c (diff)
parentfb7d1bcf1602b46f37ada72178516c01a250e434 (diff)
Merge branch 'linus' into x86/timers
Pick up upstream changes to avoid conflicts
Diffstat (limited to 'drivers/pci/iov.c')
-rw-r--r--drivers/pci/iov.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index d0d73dbbd5ca..0f04ae648cf1 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -575,6 +575,22 @@ void pci_iov_release(struct pci_dev *dev)
}
/**
+ * pci_iov_remove - clean up SR-IOV state after PF driver is detached
+ * @dev: the PCI device
+ */
+void pci_iov_remove(struct pci_dev *dev)
+{
+ struct pci_sriov *iov = dev->sriov;
+
+ if (!dev->is_physfn)
+ return;
+
+ iov->driver_max_VFs = iov->total_VFs;
+ if (iov->num_VFs)
+ pci_warn(dev, "driver left SR-IOV enabled after remove\n");
+}
+
+/**
* pci_iov_update_resource - update a VF BAR
* @dev: the PCI device
* @resno: the resource number