diff options
author | Greg Rose <gregory.v.rose@intel.com> | 2010-01-08 21:27:05 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-01-10 16:34:27 -0500 |
commit | bdbec4b86ee99b020e159f9bd604003a3ae3b0ab (patch) | |
tree | cf0ba86499dc3a1fa41f22ed9d382db2fcc28d49 /drivers/net/ixgbe | |
parent | 1cdd1ec8784399eef55a60887a45f3f46a1c240a (diff) |
ixgbe: Fix ethtool diag test for VT mode operation
Skip MAC loopback test when the adapter is set to a VT mode such as SR-IOV
or VMDq
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbe')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_ethtool.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c b/drivers/net/ixgbe/ixgbe_ethtool.c index 0bd49d3b9f6..a0107b5a28e 100644 --- a/drivers/net/ixgbe/ixgbe_ethtool.c +++ b/drivers/net/ixgbe/ixgbe_ethtool.c | |||
@@ -1867,11 +1867,22 @@ static void ixgbe_diag_test(struct net_device *netdev, | |||
1867 | if (ixgbe_intr_test(adapter, &data[2])) | 1867 | if (ixgbe_intr_test(adapter, &data[2])) |
1868 | eth_test->flags |= ETH_TEST_FL_FAILED; | 1868 | eth_test->flags |= ETH_TEST_FL_FAILED; |
1869 | 1869 | ||
1870 | /* If SRIOV or VMDq is enabled then skip MAC | ||
1871 | * loopback diagnostic. */ | ||
1872 | if (adapter->flags & (IXGBE_FLAG_SRIOV_ENABLED | | ||
1873 | IXGBE_FLAG_VMDQ_ENABLED)) { | ||
1874 | DPRINTK(HW, INFO, "Skip MAC loopback diagnostic in VT " | ||
1875 | "mode\n"); | ||
1876 | data[3] = 0; | ||
1877 | goto skip_loopback; | ||
1878 | } | ||
1879 | |||
1870 | ixgbe_reset(adapter); | 1880 | ixgbe_reset(adapter); |
1871 | DPRINTK(HW, INFO, "loopback testing starting\n"); | 1881 | DPRINTK(HW, INFO, "loopback testing starting\n"); |
1872 | if (ixgbe_loopback_test(adapter, &data[3])) | 1882 | if (ixgbe_loopback_test(adapter, &data[3])) |
1873 | eth_test->flags |= ETH_TEST_FL_FAILED; | 1883 | eth_test->flags |= ETH_TEST_FL_FAILED; |
1874 | 1884 | ||
1885 | skip_loopback: | ||
1875 | ixgbe_reset(adapter); | 1886 | ixgbe_reset(adapter); |
1876 | 1887 | ||
1877 | clear_bit(__IXGBE_TESTING, &adapter->state); | 1888 | clear_bit(__IXGBE_TESTING, &adapter->state); |