diff options
author | Mitch Williams <mitch.a.williams@intel.com> | 2014-02-13 06:48:48 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-02-13 17:27:29 -0500 |
commit | eb2d80bcf6b3c101ffe728554ebb702db096917a (patch) | |
tree | 387687e606bbab8080939ef294c0f1a26beee3e9 /drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | |
parent | 4aeec0106d503a0b88bf3852834c05228c073423 (diff) |
i40e: don't handle VF reset on unload
Set the DOWN flag before attempting to disable VFs when unloading the
driver. Also, don't attempt to reset the VFs when the driver is
unloading, because the switch configuration will fail. This fixes a
panic on unload when VFs are enabled.
Change-ID: I25a6567e89c9687145f510ff4f630932412c5c5d
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>
Diffstat (limited to 'drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c')
-rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c index 9074f63a2447..7d133faad4cf 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c +++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | |||
@@ -1868,7 +1868,8 @@ int i40e_vc_process_vflr_event(struct i40e_pf *pf) | |||
1868 | /* clear the bit in GLGEN_VFLRSTAT */ | 1868 | /* clear the bit in GLGEN_VFLRSTAT */ |
1869 | wr32(hw, I40E_GLGEN_VFLRSTAT(reg_idx), (1 << bit_idx)); | 1869 | wr32(hw, I40E_GLGEN_VFLRSTAT(reg_idx), (1 << bit_idx)); |
1870 | 1870 | ||
1871 | i40e_reset_vf(vf, true); | 1871 | if (!test_bit(__I40E_DOWN, &pf->state)) |
1872 | i40e_reset_vf(vf, true); | ||
1872 | } | 1873 | } |
1873 | } | 1874 | } |
1874 | 1875 | ||