summaryrefslogtreecommitdiffstats
path: root/drivers/pci/pci-sysfs.c
diff options
context:
space:
mode:
authorDonald Dutile <ddutile@redhat.com>2012-11-05 21:20:37 +0100
committerBjorn Helgaas <bhelgaas@google.com>2012-11-10 05:37:39 +0100
commitbff73156d3ad661655e6d9ef04c2284cf3abb0f1 (patch)
treea26dc79db184a6977919909c3cc2dd653efe83f3 /drivers/pci/pci-sysfs.c
parentPCI: SRIOV control and status via sysfs (diff)
downloadlinux-bff73156d3ad661655e6d9ef04c2284cf3abb0f1.tar.xz
linux-bff73156d3ad661655e6d9ef04c2284cf3abb0f1.zip
PCI: Provide method to reduce the number of total VFs supported
Some implementations of SRIOV provide a capability structure value of TotalVFs that is greater than what the software can support. Provide a method to reduce the capability structure reported value to the value the driver can support. This ensures sysfs reports the current capability of the system, hardware and software. Example for its use: igb & ixgbe -- report 8 & 64 as TotalVFs, but drivers only support 7 & 63 maximum. Signed-off-by: Donald Dutile <ddutile@redhat.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/pci-sysfs.c')
-rw-r--r--drivers/pci/pci-sysfs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
index 74508c63bd47..99b5f83d2468 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -411,7 +411,7 @@ static ssize_t sriov_totalvfs_show(struct device *dev,
{
struct pci_dev *pdev = to_pci_dev(dev);
- return sprintf(buf, "%u\n", pdev->sriov->total);
+ return sprintf(buf, "%u\n", pci_sriov_get_totalvfs(pdev));
}
@@ -452,7 +452,7 @@ static ssize_t sriov_numvfs_store(struct device *dev,
}
/* if enabling vf's ... */
- total = pdev->sriov->total;
+ total = pci_sriov_get_totalvfs(pdev);
/* Requested VFs to enable < totalvfs and none enabled already */
if ((num_vfs > 0) && (num_vfs <= total)) {
if (pdev->sriov->nr_virtfn == 0) {