linux/drivers/net/ethernet/intel/i40evf
Mitch Williams ef8693eb90 i40evf: refactor reset handling
Respond better to a VF reset event. When a reset is signaled by the
PF, or detected by the watchdog task, prevent the watchdog from
processing admin queue requests, and schedule the reset task.

In the reset task, wait first for the reset to start, then for it to
complete, then reinit the driver.

If the reset never appears to complete after a long, long time (>10
seconds is possible depending on what's going on with the PF driver),
then set a flag to indicate that PF communications have failed.

If this flag is set, check for the reset to complete in the watchdog,
and  attempt to do a full reinitialization of the driver from scratch.

With these changes the VF driver correctly handles a PF reset event
while running on bare metal, or in a VM.

Also update copyrights.

Change-ID: I93513efd0b50523a8345e7f6a33a5e4f8a2a5996
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-02-13 17:27:30 -05:00
..
Makefile i40evf: add driver to kernel build system 2013-12-31 16:27:49 -08:00
i40e_adminq.c i40evf: init code and hardware support 2013-12-31 16:18:25 -08:00
i40e_adminq.h i40evf: init code and hardware support 2013-12-31 16:18:25 -08:00
i40e_adminq_cmd.h i40evf: A0 silicon specific 2013-12-31 16:39:42 -08:00
i40e_alloc.h i40evf: init code and hardware support 2013-12-31 16:18:25 -08:00
i40e_common.c i40e: Fix device ID define names to align to standard 2014-01-17 19:13:04 -08:00
i40e_hmc.h i40evf: init code and hardware support 2013-12-31 16:18:25 -08:00
i40e_lan_hmc.h i40evf: A0 silicon specific 2013-12-31 16:39:42 -08:00
i40e_osdep.h i40evf: driver core headers 2013-12-31 16:09:05 -08:00
i40e_prototype.h i40evf: init code and hardware support 2013-12-31 16:18:25 -08:00
i40e_register.h i40evf: A0 silicon specific 2013-12-31 16:39:42 -08:00
i40e_status.h i40evf: init code and hardware support 2013-12-31 16:18:25 -08:00
i40e_txrx.c i40evf: trivial fixes 2014-02-13 17:27:28 -05:00
i40e_txrx.h i40evf: driver core headers 2013-12-31 16:09:05 -08:00
i40e_type.h i40evf: trivial fixes 2014-02-13 17:27:28 -05:00
i40e_virtchnl.h i40evf: virtual channel interface 2013-12-31 16:01:28 -08:00
i40evf.h i40evf: refactor reset handling 2014-02-13 17:27:30 -05:00
i40evf_ethtool.c i40evf: core ethtool functionality 2013-12-31 15:52:57 -08:00
i40evf_main.c i40evf: refactor reset handling 2014-02-13 17:27:30 -05:00
i40evf_virtchnl.c i40evf: refactor reset handling 2014-02-13 17:27:30 -05:00