linux/drivers/net/ethernet/intel/i40evf
Mitch Williams e284fc88df i40evf: delay releasing rings
When the VF interface is closed, we cannot immediately free our rings
and RX buffers, because the hardware hasn't yet stopped accessing this
memory. This shows up as a panic or memory corruption when the device is
brought down while under heavy stress.

To fix this, delay releasing resources until we receive acknowledgment
from the PF driver that the rings have indeed been stopped. Because of
this delay, we also need to check to make sure that all of our admin
queue requests have been handled before allowing the device to be
opened.

Change-ID: I44edd35529ce2fa2a9512437a3a8e6f14ed8ed63
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Jim Young <james.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2015-03-27 02:57:03 -07:00
..
i40e_adminq_cmd.h i40e: AQ API updates for new commands 2015-01-16 05:20:37 -08:00
i40e_adminq.c i40e: let firmware catch the NVM busy error 2014-12-09 12:57:02 -08:00
i40e_adminq.h i40e/i40evf: print FW build number in version string 2015-03-03 01:07:24 -08:00
i40e_alloc.h i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_common.c i40e/i40evf: implement KR2 support 2015-03-27 00:12:09 -07:00
i40e_hmc.h i40e/i40evf: Force a shifted '1' to be unsigned 2014-07-02 19:02:19 -07:00
i40e_lan_hmc.h i40e/i40evf: Big endian fixes for handling HMC 2014-06-26 04:44:57 -07:00
i40e_osdep.h i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_prototype.h i40e/i40evf: Clean up some formatting and other things 2015-03-05 06:39:42 -08:00
i40e_register.h i40e/i40evf: i40e_register.h updates 2015-02-23 17:11:57 -08:00
i40e_status.h i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_txrx.c i40e/i40evf: fix accidental write to ITR registers 2015-03-09 05:20:46 -07:00
i40e_txrx.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-03 21:16:48 -05:00
i40e_type.h i40e/i40evf: implement KR2 support 2015-03-27 00:12:09 -07:00
i40e_virtchnl.h i40e/i40evf: restrict VC opcodes to their initial values 2015-02-23 17:11:56 -08:00
i40evf_ethtool.c i40e/i40evf: Clean up some formatting and other things 2015-03-05 06:39:42 -08:00
i40evf_main.c i40evf: delay releasing rings 2015-03-27 02:57:03 -07:00
i40evf_virtchnl.c i40evf: delay releasing rings 2015-03-27 02:57:03 -07:00
i40evf.h i40evf: delay releasing rings 2015-03-27 02:57:03 -07:00
Makefile i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00