|
@@ -6519,9 +6519,11 @@ static void i40e_clean_adminq_subtask(struct i40e_pf *pf)
|
|
|
opcode);
|
|
|
break;
|
|
|
}
|
|
|
- } while (pending && (i++ < pf->adminq_work_limit));
|
|
|
+ } while (i++ < pf->adminq_work_limit);
|
|
|
+
|
|
|
+ if (i < pf->adminq_work_limit)
|
|
|
+ clear_bit(__I40E_ADMINQ_EVENT_PENDING, &pf->state);
|
|
|
|
|
|
- clear_bit(__I40E_ADMINQ_EVENT_PENDING, &pf->state);
|
|
|
/* re-enable Admin queue interrupt cause */
|
|
|
val = rd32(hw, I40E_PFINT_ICR0_ENA);
|
|
|
val |= I40E_PFINT_ICR0_ENA_ADMINQ_MASK;
|