mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
Revert "media: iris: Add sanity check for stop streaming"
This reverts commitad699fa78b. 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:
parent
66c744e28b
commit
370e19042f
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user