> -----Original Message----- > From: Kirsher, Jeffrey T > Sent: Wednesday, February 08, 2012 1:37 AM > To: [email protected] > Cc: Rose, Gregory V; [email protected]; [email protected]; > [email protected]; [email protected]; Kirsher, Jeffrey T > Subject: [net 2/8] igb: fix vf lookup > > From: Greg Rose <[email protected]> > > Recent addition of code to find already allocated VFs failed to take > account that systems with 2 or more multi-port SR-IOV capable controllers > might have already enabled VFs. Make sure that the VFs the function is > finding are actually subordinate to the particular instance of the adapter > that is looking for them and not subordinate to some device that has > previously enabled SR-IOV. > > This is applicable to 3.2+ kernels. > > CC: [email protected] > Reported-by: David Ahern <[email protected]> > Signed-off-by: Greg Rose <[email protected]> > Tested-by: Robert E Garrett <[email protected]> > Signed-off-by: Jeff Kirsher <[email protected]> > --- > drivers/net/ethernet/intel/igb/igb_main.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/ethernet/intel/igb/igb_main.c > b/drivers/net/ethernet/intel/igb/igb_main.c > index e91d73c..94be6c3 100644 > --- a/drivers/net/ethernet/intel/igb/igb_main.c > +++ b/drivers/net/ethernet/intel/igb/igb_main.c > @@ -5012,7 +5012,8 @@ static int igb_find_enabled_vfs(struct igb_adapter > *adapter) > vf_devfn = pdev->devfn + 0x80; > pvfdev = pci_get_device(hw->vendor_id, device_id, NULL); > while (pvfdev) { > - if (pvfdev->devfn == vf_devfn) > + if (pvfdev->devfn == vf_devfn && > + (pvfdev->bus->number >= pdev->bus->number)) > vfs_found++; > vf_devfn += vf_stride; > pvfdev = pci_get_device(hw->vendor_id, > -- > 1.7.7.6
I'll fix this one too. You start leaning on checkpatch and you get lazy I guess. - Greg -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
