diff options
author | Paul Greenwalt <paul.greenwalt@intel.com> | 2021-07-12 07:54:25 -0400 |
---|---|---|
committer | Tony Nguyen <anthony.l.nguyen@intel.com> | 2021-12-07 13:21:01 -0800 |
commit | 2657e16d8c52fb6ffc7250b0b6536f93886e32d6 (patch) | |
tree | 3e3c83f623ab55df77523f1886ea89362ac3415b /drivers/net/ethernet/intel | |
parent | f23ab04dd6f703e282bb2d51fe3ae14f4b88a628 (diff) | |
download | linux-stable-2657e16d8c52fb6ffc7250b0b6536f93886e32d6.tar.gz linux-stable-2657e16d8c52fb6ffc7250b0b6536f93886e32d6.tar.bz2 linux-stable-2657e16d8c52fb6ffc7250b0b6536f93886e32d6.zip |
ice: rearm other interrupt cause register after enabling VFs
The other interrupt cause register (OICR), global interrupt 0, is
disabled when enabling VFs to prevent handling VFLR. If the OICR is
not rearmed then the VF cannot communicate with the PF.
Rearm the OICR after enabling VFs.
Fixes: 916c7fdf5e93 ("ice: Separate VF VSI initialization/creation from reset flow")
Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com>
Tested-by: Tony Brelinski <tony.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel')
-rw-r--r-- | drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c b/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c index c2431bc9d9ce..6427e7ec93de 100644 --- a/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c +++ b/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c @@ -2023,6 +2023,10 @@ static int ice_ena_vfs(struct ice_pf *pf, u16 num_vfs) if (ret) goto err_unroll_sriov; + /* rearm global interrupts */ + if (test_and_clear_bit(ICE_OICR_INTR_DIS, pf->state)) + ice_irq_dynamic_ena(hw, NULL, NULL); + return 0; err_unroll_sriov: |