This is basically a revision of Alex's recent series: http://lkml.kernel.org/r/20151027204607.14626.59671.stgit@localhost.localdomain I squashed some fixes into the original patch, dropped two, and split the rest up a little differently: iov: Update virtfn_max_buses to validate offset and stride Folded into the patch it fixed iov: Reset resources to 0 if totalVFs increases after enabling ARI Dropped on the theory that the resource allocation code should already handle this case iov: Fix sriov_enable exception handling path Split into a couple patches to make it easier to review iov: Variable and loop cleanup for sriov_disable and sriov_enable Dropped for readability iov: Update sriov_enable to correctly handle offset and stride Split into the piece that removes code made redundant by "PCI: Set SR-IOV NumVFs to zero after enumeration" and the piece that fixes the bug (using offset/stride before setting numVFs) This is all on my pci/virtualization branch, and I'm still hoping to merge this for v4.4. --- Alexander Duyck (7): PCI: Set SR-IOV NumVFs to zero after enumeration PCI: Remove redundant validation of SR-IOV offset/stride registers PCI: Remove VFs in reverse order if virtfn_add() fails PCI: Reorder pcibios_sriov_disable() PCI: Wait 1 second between disabling VFs and clearing NumVFs PCI: Fix sriov_enable() error path for pcibios_enable_sriov() failures PCI: Set NumVFs before computing how many buses VFs require drivers/pci/iov.c | 100 ++++++++++++++++++++++++++--------------------------- 1 file changed, 49 insertions(+), 51 deletions(-) -- 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