1
0
Fork 0
alistair23-linux/drivers/net/ethernet/intel/i40e
Mitch Williams 3ba9bcb4b6 i40e: add locking around VF reset
During VF deallocation, we need to lock out the VF reset code. However,
we cannot depend on simply masking the interrupt, as this does not lock
out the service task, which can still call the reset routine. Instead,
leave the interrupt enabled, but add locking around the VF disable and
reset routines.

For the disable code, we wait to get the lock, as the reset code will
take a finite amount of time to run. For the reset code, we just return
if we fail to get the lock. Since we know that the VFs are being
disabled, we don't need to handle the reset.
This fixes a panic when disabling SR-IOV.

Change-ID: Iea0a6cdef35c331f48c6d5b2f8e6f0e86322e7d8
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-08 20:11:44 -08:00
..
Makefile i40e: adds FCoE configure option 2015-01-14 16:48:39 -05:00
i40e.h i40e: add locking around VF reset 2015-02-08 20:11:44 -08:00
i40e_adminq.c i40e: init NVM update state on adminq init 2014-12-09 12:57:03 -08:00
i40e_adminq.h i40e/i40evf: Increase ASQ timeout 2015-01-16 03:56:50 -08:00
i40e_adminq_cmd.h i40e: AQ API updates for new commands 2015-01-16 05:20:37 -08:00
i40e_alloc.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_common.c i40e: Support for NPAR iSCSI partition with DCB 2015-01-16 05:21:04 -08:00
i40e_dcb.c i40e: Check for LLDP AdminStatus before querying DCBX 2014-11-18 01:09:06 -08:00
i40e_dcb.h i40e: Add support to firmware CEE DCBX mode 2014-11-18 01:09:02 -08:00
i40e_dcb_nl.c i40e: Add support to firmware CEE DCBX mode 2014-11-18 01:09:02 -08:00
i40e_debugfs.c i40e: Dump Stats string removed from debugfs help command 2015-01-16 03:56:52 -08:00
i40e_diag.c i40e: Rework register diagnostic 2014-06-05 01:27:46 -07:00
i40e_diag.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_ethtool.c i40e: limit WoL and link settings to partition 1 2015-01-13 11:48:19 -08:00
i40e_fcoe.c i40e: i40e_fcoe.c: Remove unused function 2015-02-08 18:45:17 -08:00
i40e_fcoe.h i40e: adds FCoE code to the i40e driver 2014-08-02 19:41:13 -07:00
i40e_hmc.c i40e/i40evf: Fix code to accommodate i40e_register.h changes 2014-06-08 02:01:23 -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.c i40e: remove unnecessary break after goto 2014-07-13 23:45:24 -07:00
i40e_lan_hmc.h i40e/i40evf: Big endian fixes for handling HMC 2014-06-26 04:44:57 -07:00
i40e_main.c i40e: avoid use of uninitialized v_budget in i40e_init_msix 2015-02-08 19:01:06 -08:00
i40e_nvm.c i40e: add to NVM update debug message 2014-12-09 12:57:05 -08:00
i40e_osdep.h i40e: adds FCoE configure option 2015-01-14 16:48:39 -05:00
i40e_prototype.h i40e: Adding function for reading PBA String 2015-01-13 11:48:19 -08:00
i40e_ptp.c i40e: when Rx timestamps disabled set specific mode 2015-01-16 05:20:56 -08:00
i40e_register.h i40e/i40evf: i40e_register.h update 2014-06-19 20:22:02 -07:00
i40e_status.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_txrx.c i40e: check I40E_FLAG_PTP before handling Tx or Rx timestamps 2015-01-16 03:56:54 -08:00
i40e_txrx.h i40e: fix un-necessary Tx hangs 2015-01-06 16:57:18 -08:00
i40e_type.h i40e: Support for NPAR iSCSI partition with DCB 2015-01-16 05:21:04 -08:00
i40e_virtchnl.h i40e: Add a virtual channel op to config RSS 2014-12-06 03:53:48 -08:00
i40e_virtchnl_pf.c i40e: add locking around VF reset 2015-02-08 20:11:44 -08:00
i40e_virtchnl_pf.h i40e: Add new update VSI flow to accommodate FW fix with VSI Loopback mode 2014-12-06 04:26:33 -08:00