From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: davem@davemloft.net
Cc: Mitch Williams <mitch.a.williams@intel.com>,
netdev@vger.kernel.org, nhorman@redhat.com, sassmann@redhat.com,
jogreene@redhat.com, Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Subject: [net-next 03/18] i40e: stop VF rings
Date: Wed, 7 Oct 2015 15:46:57 -0700 [thread overview]
Message-ID: <1444258032-41476-4-git-send-email-jeffrey.t.kirsher@intel.com> (raw)
In-Reply-To: <1444258032-41476-1-git-send-email-jeffrey.t.kirsher@intel.com>
From: Mitch Williams <mitch.a.williams@intel.com>
Explicitly stop the rings belonging to each VF when disabling SR-IOV.
Even though the VFs were gone, and the associated VSIs were removed, the
rings were not stopped, and in some circumstances the hardware would
continue to access the memory formerly used by the rings, causing memory
corruption or DMAR errors, both of which would lead to general malaise
of the kernel.
To relieve this condition, explicitly stop all the rings associated with
each VF before releasing its resources.
Change-ID: I78c05d562c66e7b594b7e48d67860f49b3e5b6ec
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index b148694..0545e3f 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -872,6 +872,11 @@ void i40e_free_vfs(struct i40e_pf *pf)
i40e_vsi_control_rings(pf->vsi[pf->vf[i].lan_vsi_idx],
false);
+ for (i = 0; i < pf->num_alloc_vfs; i++)
+ if (test_bit(I40E_VF_STAT_INIT, &pf->vf[i].vf_states))
+ i40e_vsi_control_rings(pf->vsi[pf->vf[i].lan_vsi_idx],
+ false);
+
/* Disable IOV before freeing resources. This lets any VF drivers
* running in the host get themselves cleaned up before we yank
* the carpet out from underneath their feet.
--
2.4.3
next prev parent reply other threads:[~2015-10-07 22:47 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-07 22:46 [net-next 00/18][pull request] Intel Wired LAN Driver Updates 2015-10-07 Jeff Kirsher
2015-10-07 22:46 ` [net-next 01/18] i40e: Increase the amount of time we wait for reset to be done Jeff Kirsher
2015-10-07 22:46 ` [net-next 02/18] i40e: enable WoL operation if config bit show WoL capable Jeff Kirsher
2015-10-07 22:46 ` Jeff Kirsher [this message]
2015-10-07 22:46 ` [net-next 04/18] i40e/i40evf: add driver support for new device ids Jeff Kirsher
2015-10-07 22:46 ` [net-next 05/18] i40e/i40evf: fix a potential type compare issue Jeff Kirsher
2015-10-07 22:47 ` [net-next 06/18] i40e: fix bad CEE status shift value Jeff Kirsher
2015-10-07 22:47 ` [net-next 07/18] i40e: make i40e_init_pf_fcoe to void Jeff Kirsher
2015-10-08 18:53 ` Sergei Shtylyov
2015-10-07 22:47 ` [net-next 08/18] i40e/i40evf: assure clean asq status report Jeff Kirsher
2015-10-07 22:47 ` [net-next 09/18] i40e: Fix for truncated interrupt name Jeff Kirsher
2015-10-07 22:47 ` [net-next 10/18] i40e: Never let speed get set to 0 in get_settings Jeff Kirsher
2015-10-07 22:47 ` [net-next 11/18] i40e/i40evf: give up the __func__ Jeff Kirsher
2015-10-07 22:47 ` [net-next 12/18] i40e: add little endian conversion for checksum Jeff Kirsher
2015-10-07 22:47 ` [net-next 13/18] i40e: fix bug in return from get_link_status and avoid spurious link messages Jeff Kirsher
2015-10-07 22:47 ` [net-next 14/18] i40e/i40evf: fix unicast mac address add Jeff Kirsher
2015-10-07 22:47 ` [net-next 15/18] i40e/i40evf: Add a stat to keep track of linearization count Jeff Kirsher
2015-10-07 22:47 ` [net-next 16/18] i40e: Additional checks for CEE APP priority validity Jeff Kirsher
2015-10-07 22:47 ` [net-next 17/18] i40evf: propagate interrupt allocation failure Jeff Kirsher
2015-10-07 22:47 ` [net-next 18/18] i40e/i40evf: remove unused opcode Jeff Kirsher
2015-10-08 11:21 ` [net-next 00/18][pull request] Intel Wired LAN Driver Updates 2015-10-07 David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1444258032-41476-4-git-send-email-jeffrey.t.kirsher@intel.com \
--to=jeffrey.t.kirsher@intel.com \
--cc=davem@davemloft.net \
--cc=jogreene@redhat.com \
--cc=mitch.a.williams@intel.com \
--cc=netdev@vger.kernel.org \
--cc=nhorman@redhat.com \
--cc=sassmann@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).