linux/drivers/net/ethernet/intel/i40evf
Mitch Williams ac833bbf79 i40evf: refactor reset
A recent change to the shutdown flow messed up the reset flow. Since
i40evf_down now holds the critical section lock, we cannot call it from
the reset handler, which also holds the lock. To do so causes a deadlock
accompanied by wailing and gnashing of teeth. This is easily triggered
by running an ethtool self-test on the PF device.

Instead, we move the relevant portions of i40evf_down into the reset
handler and bend them to our will. Additionally, we can optimize the
reinit path by not deleting the MAC and VLAN filters and then adding
them back again. Instead, we just set the 'add' flag and let the
watchdog resynchronize the filter list with the PF driver. We also
reword a few messages to make them more consistent with the rest of the
driver.

Change-ID: I03dd92ae736f7719fca3564b12a2cf9b98c6cb18
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-02-23 17:13:20 -08: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: Increase ASQ timeout 2015-01-16 03:56:50 -08:00
i40e_alloc.h i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_common.c i40evf: Add support for 10G base T parts 2014-11-03 01:38:41 -08: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: add max buf len to aq debug print helper 2014-08-27 00:40:14 -07: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: Refactor the receive routines 2015-02-23 17:11:56 -08:00
i40e_txrx.h i40e/i40evf: Refactor the receive routines 2015-02-23 17:11:56 -08:00
i40e_type.h i40e/i40evf: Remove unused variable an_enable and function update_link_info 2015-02-23 17:13:18 -08:00
i40e_virtchnl.h i40e/i40evf: restrict VC opcodes to their initial values 2015-02-23 17:11:56 -08:00
i40evf_ethtool.c ethtool: Support for configurable RSS hash function 2014-12-08 21:07:10 -05:00
i40evf_main.c i40evf: refactor reset 2015-02-23 17:13:20 -08:00
i40evf_virtchnl.c i40evf: kick a stalled admin queue 2015-01-13 11:47:44 -08:00
i40evf.h i40evf: make checkpatch happy 2014-11-20 14:56:43 -08:00
Makefile i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00