Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 510efb26 authored by Greg Rose's avatar Greg Rose Committed by Jeff Kirsher
Browse files

i40e: Fix ethtool offline diagnostic with netqueues



Treat netqueues the same way we do virtual functions when someone wants to
run the ethtool offline diagnostic test.

Change-ID: Id48d2b933f1fd0db7be06305a93c6ebe3dc821f5
Signed-off-by: default avatarGreg Rose <gregory.v.rose@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 26cdc443
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -1559,6 +1559,21 @@ static inline bool i40e_active_vfs(struct i40e_pf *pf)
	return false;
}

static inline bool i40e_active_vmdqs(struct i40e_pf *pf)
{
	struct i40e_vsi **vsi = pf->vsi;
	int i;

	for (i = 0; i < pf->num_alloc_vsi; i++) {
		if (!vsi[i])
			continue;
		if (vsi[i]->type == I40E_VSI_VMDQ2)
			return true;
	}

	return false;
}

static void i40e_diag_test(struct net_device *netdev,
			   struct ethtool_test *eth_test, u64 *data)
{
@@ -1572,9 +1587,9 @@ static void i40e_diag_test(struct net_device *netdev,

		set_bit(__I40E_TESTING, &pf->state);

		if (i40e_active_vfs(pf)) {
		if (i40e_active_vfs(pf) || i40e_active_vmdqs(pf)) {
			dev_warn(&pf->pdev->dev,
				 "Please take active VFS offline and restart the adapter before running NIC diagnostics\n");
				 "Please take active VFs and Netqueues offline and restart the adapter before running NIC diagnostics\n");
			data[I40E_ETH_TEST_REG]		= 1;
			data[I40E_ETH_TEST_EEPROM]	= 1;
			data[I40E_ETH_TEST_INTR]	= 1;