From: Grzegorz Nitka <grzegorz.ni...@intel.com>

Synchronize OICR IRQ when preparing for reset to avoid potential
race conditions between the reset procedure and OICR

Signed-off-by: Grzegorz Nitka <grzegorz.ni...@intel.com>
Signed-off-by: Sergey Temerkhanov <sergey.temerkha...@intel.com>
Fixes: 4aad5335969f ("ice: add individual interrupt allocation")
Reviewed-by: Przemek Kitszel <przemyslaw.kits...@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/intel/ice/ice_main.c 
b/drivers/net/ethernet/intel/ice/ice_main.c
index e2990993b16f..3405fe749b25 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -560,6 +560,8 @@ ice_prepare_for_reset(struct ice_pf *pf, enum ice_reset_req 
reset_type)
        if (test_bit(ICE_PREPARED_FOR_RESET, pf->state))
                return;
 
+       synchronize_irq(pf->oicr_irq.virq);
+
        ice_unplug_aux_dev(pf);
 
        /* Notify VFs of impending reset */
-- 
2.43.0

Reply via email to