1
0
Fork 0
alistair23-linux/drivers/net/ethernet/intel
Mitch Williams fc18eaa073 i40e: refactor VF reset flow
Fix the VF reset flow so that it works on real hardware. After
discussions with the HW team, the reset flow has been changed
somewhat.

- Change the i40e_reset_vf function to a void type, and fix
  up the callers to reflect this.
- Move the MSI-X disable code to i40e_free_vf_res since it must
  be done every time the VF is freed, regardless of whether or
  not it is reset.
- Ensure that the PCIe bus is quiet before polling the reset bit.
- Don't clear the VFGEN_RSTAT1 register at the beginning as it is
  cleared by the reset.
- Poll longer for the reset to be done.
- Disable the queues using an existing function rather than
  rolling our own.
- Free and reallocate the VSI after reset to avoid rx hang.

Change-Id: I11e2590431cb73e8663714d1cc5b23d59b809033
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-01-03 20:35:39 -08:00
..
e1000 e1000: fix possible reset_task running after adapter down 2013-11-30 00:02:12 -08:00
e1000e Merge branch 'siocghwtstamp' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next 2013-12-05 19:45:14 -05:00
i40e i40e: refactor VF reset flow 2014-01-03 20:35:39 -08:00
i40evf i40evf: A0 silicon specific 2013-12-31 16:39:42 -08:00
igb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-12-18 16:42:06 -05:00
igbvf net: igbvf: slight optimization of addr compare 2013-12-31 16:48:31 -05:00
ixgb Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
ixgbe net: ixgbe: slight optimization of addr compare 2013-12-31 16:48:31 -05:00
ixgbevf ixgbevf: add DCB configuration into queue setup 2013-12-17 22:42:54 -08:00
Kconfig i40e: Implementation of VXLAN ndo's 2014-01-03 20:11:44 -08:00
Makefile i40evf: add driver to kernel build system 2013-12-31 16:27:49 -08:00
e100.c net: e100: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:01 -04:00