From: Dan Carpenter <dan.carpenter@xxxxxxxxxx> commit bc2f39a6252ee40d9bfc2743d4437d420aec5f6e upstream. This code was re-organized and there some unlocks missing now. Fixes: 898ef1cb1cb2 ("iavf: Combine init and watchdog state machines") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Tested-by: Konrad Jankowski <konrad0.jankowski@xxxxxxxxx> Signed-off-by: Tony Nguyen <anthony.l.nguyen@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/net/ethernet/intel/iavf/iavf_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/net/ethernet/intel/iavf/iavf_main.c +++ b/drivers/net/ethernet/intel/iavf/iavf_main.c @@ -2071,6 +2071,7 @@ static void iavf_watchdog_task(struct wo } adapter->aq_required = 0; adapter->current_op = VIRTCHNL_OP_UNKNOWN; + mutex_unlock(&adapter->crit_lock); queue_delayed_work(iavf_wq, &adapter->watchdog_task, msecs_to_jiffies(10)); @@ -2101,9 +2102,8 @@ static void iavf_watchdog_task(struct wo iavf_detect_recover_hung(&adapter->vsi); break; case __IAVF_REMOVE: - mutex_unlock(&adapter->crit_lock); - return; default: + mutex_unlock(&adapter->crit_lock); return; } Patches currently in stable-queue which might be from dan.carpenter@xxxxxxxxxx are queue-5.15/can-etas_es58x-change-opened_channel_cnt-s-type-from.patch queue-5.15/ext4-fast-commit-may-not-fallback-for-ineligible-com.patch queue-5.15/iavf-missing-unlocks-in-iavf_watchdog_task.patch