[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <C5551D9AAB213A418B7FD5E4A6F30A0702F86E27@ORSMSX106.amr.corp.intel.com>
Date: Thu, 9 Feb 2012 16:27:51 +0000
From: "Rose, Gregory V" <gregory.v.rose@...el.com>
To: "Kirsher, Jeffrey T" <jeffrey.t.kirsher@...el.com>,
"davem@...emloft.net" <davem@...emloft.net>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"gospo@...hat.com" <gospo@...hat.com>,
"sassmann@...hat.com" <sassmann@...hat.com>,
"stable@...r.kernel.org" <stable@...r.kernel.org>
Subject: RE: [net v2 3/8] ixgbe: fix vf lookup
> -----Original Message-----
> From: Kirsher, Jeffrey T
> Sent: Thursday, February 09, 2012 1:34 AM
> To: davem@...emloft.net
> Cc: Rose, Gregory V; netdev@...r.kernel.org; gospo@...hat.com;
> sassmann@...hat.com; stable@...r.kernel.org; Kirsher, Jeffrey T
> Subject: [net v2 3/8] ixgbe: fix vf lookup
>
> From: Greg Rose <gregory.v.rose@...el.com>
>
> 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 bug exists in 3.2 stable as well as 3.3 release candidates.
>
> CC: stable@...r.kernel.org
> Reported-by: David Ahern <daahern@...co.com>
> Signed-off-by: Greg Rose <gregory.v.rose@...el.com>
> Tested-by: Robert E Garrett <robertX.e.garrett@...el.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@...el.com>
> ---
> drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
> b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
> index 8d8cdbc..b982710 100644
> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
> @@ -67,7 +67,8 @@ static int ixgbe_find_enabled_vfs(struct ixgbe_adapter
> *adapter)
> vf_devfn = pdev->devfn + 0x80;
> pvfdev = pci_get_device(IXGBE_INTEL_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 += 2;
> pvfdev = pci_get_device(IXGBE_INTEL_VENDOR_ID,
> --
> 1.7.7.6
It still has unneeded parenthesis around the second half of the if expression. I'll fix that up in the next series of patches. Same for the igb driver.
- Greg
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists