Revert "media: iris: Add sanity check for stop streaming"

This reverts commit ad699fa78b.

Revert the check that skipped stop_streaming when the instance was in
IRIS_INST_ERROR, as it caused multiple regressions:

1. Buffers were not returned to vb2 when the instance was already in
   error state, triggering warnings in the vb2 core because buffer
   completion was skipped.

2. If a session failed early (e.g. unsupported configuration), the
   instance transitioned to IRIS_INST_ERROR. When userspace attempted
   to stop streaming for cleanup, stop_streaming was skipped due to the
   added check, preventing proper teardown and leaving the firmware
   in an inconsistent state.

Fixes: ad699fa78b ("media: iris: Add sanity check for stop streaming")
Signed-off-by: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>
Reviewed-by: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
Cc: stable@vger.kernel.org
Signed-off-by: Bryan O'Donoghue <bod@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
Dikshita Agarwal 2025-12-29 12:01:23 +05:30 committed by Hans Verkuil
parent 66c744e28b
commit 370e19042f

View File

@ -231,8 +231,6 @@ void iris_vb2_stop_streaming(struct vb2_queue *q)
return;
mutex_lock(&inst->lock);
if (inst->state == IRIS_INST_ERROR)
goto exit;
if (!V4L2_TYPE_IS_OUTPUT(q->type) &&
!V4L2_TYPE_IS_CAPTURE(q->type))
@ -243,10 +241,10 @@ void iris_vb2_stop_streaming(struct vb2_queue *q)
goto exit;
exit:
if (ret) {
iris_helper_buffers_done(inst, q->type, VB2_BUF_STATE_ERROR);
iris_helper_buffers_done(inst, q->type, VB2_BUF_STATE_ERROR);
if (ret)
iris_inst_change_state(inst, IRIS_INST_ERROR);
}
mutex_unlock(&inst->lock);
}