summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliams, Mitch A <mitch.a.williams@intel.com>2011-06-07 14:22:57 -0700
committerDavid S. Miller <davem@davemloft.net>2011-06-07 14:22:57 -0700
commit665c8c8ee405738375b679246b49342ce38ba056 (patch)
treee4d2b406e94757a9be8bbe2d3229a9ce3e8ce3db
parent264524d5e5195f6e0f099bee20253a22b651e272 (diff)
downloadlinux-3.10-665c8c8ee405738375b679246b49342ce38ba056.tar.gz
linux-3.10-665c8c8ee405738375b679246b49342ce38ba056.tar.bz2
linux-3.10-665c8c8ee405738375b679246b49342ce38ba056.zip
igb: fix i350 SR-IOV failture
When SR-IOV is enabled, i350 devices fail to pass traffic. This is due to the driver attempting to enable RSS on the PF device, which is not supported by the i350. When max_vfs is specified on an i350 adapter, set the number of RSS queues to 1. This issue affects 2.6.39 as well. CC: stable@kernel.org Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/igb/igb_main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index 18fccf91363..2c28621eb30 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -2373,6 +2373,9 @@ static int __devinit igb_sw_init(struct igb_adapter *adapter)
}
#endif /* CONFIG_PCI_IOV */
adapter->rss_queues = min_t(u32, IGB_MAX_RX_QUEUES, num_online_cpus());
+ /* i350 cannot do RSS and SR-IOV at the same time */
+ if (hw->mac.type == e1000_i350 && adapter->vfs_allocated_count)
+ adapter->rss_queues = 1;
/*
* if rss_queues > 4 or vfs are going to be allocated with rss_queues