On 07/31/2014 07:24 AM, Edward Cree wrote: > Make a driver_max_VFs of 0 mean 0, instead of total_VFs as previously. > Initialise driver_max_VFs to total_VFs instead of 0. > > Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> > --- > Only existing callers are ixgbe and igb, and neither passes 0, so this > doesn't break existing users. > --- > drivers/pci/iov.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c > index cb6f247..fb51467 100644 > --- a/drivers/pci/iov.c > +++ b/drivers/pci/iov.c > @@ -381,7 +381,7 @@ found: > iov->pos = pos; > iov->nres = nres; > iov->ctrl = ctrl; > - iov->total_VFs = total; > + iov->driver_max_VFs = iov->total_VFs = total; > iov->offset = offset; > iov->stride = stride; > iov->pgsz = pgsz; > @@ -686,9 +686,6 @@ int pci_sriov_get_totalvfs(struct pci_dev *dev) > if (!dev->is_physfn) > return 0; > > - if (dev->sriov->driver_max_VFs) > - return dev->sriov->driver_max_VFs; > - > - return dev->sriov->total_VFs; > + return dev->sriov->driver_max_VFs; > } > EXPORT_SYMBOL_GPL(pci_sriov_get_totalvfs); This change is mostly harmless so I am not concerned with any effects on igb or ixgbe. In the grand scheme of things it should also drop a few lines of code which is always good. However if you are wanting to use this as a way to disable SR-IOV for a device I wouldn't recommend it. Based on what you have described I would suggest dropping the fix in drivers/pci/quirks that would clear dev->is_physfn if you are in the PF-IOV mode. That way the SR-IOV functionality should be fully disabled. In addition this solution would also resolve the fact that the driver wouldn't actually have to be loaded for it to work so if someone were to load a driver that didn't contain the fix they would be blocked from enabling SR-IOV as well. Thanks, Alex -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html