aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/ice/ice_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_main.c')
-rw-r--r--drivers/net/ethernet/intel/ice/ice_main.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index d0ea4d059a05..3588cbb8ccd2 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -478,8 +478,14 @@ static void ice_reset_subtask(struct ice_pf *pf)
478 * for the reset now), poll for reset done, rebuild and return. 478 * for the reset now), poll for reset done, rebuild and return.
479 */ 479 */
480 if (test_bit(__ICE_RESET_OICR_RECV, pf->state)) { 480 if (test_bit(__ICE_RESET_OICR_RECV, pf->state)) {
481 clear_bit(__ICE_GLOBR_RECV, pf->state); 481 /* Perform the largest reset requested */
482 clear_bit(__ICE_CORER_RECV, pf->state); 482 if (test_and_clear_bit(__ICE_CORER_RECV, pf->state))
483 reset_type = ICE_RESET_CORER;
484 if (test_and_clear_bit(__ICE_GLOBR_RECV, pf->state))
485 reset_type = ICE_RESET_GLOBR;
486 /* return if no valid reset type requested */
487 if (reset_type == ICE_RESET_INVAL)
488 return;
483 if (!test_bit(__ICE_PREPARED_FOR_RESET, pf->state)) 489 if (!test_bit(__ICE_PREPARED_FOR_RESET, pf->state))
484 ice_prepare_for_reset(pf); 490 ice_prepare_for_reset(pf);
485 491