Re: [PATCH 3/4] media: qcom: camss: always stop the pipeline in stop_streaming
From: Bryan O'Donoghue
Date: Thu Nov 05 2026 - 09:59:17 EST
On 04/11/2026 20:23, Allan Siriani wrote:
video_stop_streaming() walks the pipeline upstream and callsPlease add a Fixes:
.s_stream(0) on every subdev. It gives up on the first non-zero return,
without stopping the media pipeline and without returning the queued
buffers to vb2.
A subdev without .s_stream() returns -ENOIOCTLCMD. video_start_streaming()
already ignores that, but video_stop_streaming() does not, so with such a
subdev in the pipeline, e.g. the pixel array entity of the MT9M114 sensor
driver, every stream off:
- triggers the vb2 WARN about buffers still owned by the driver,
- leaves the pipeline started, so the next VIDIOC_STREAMON and
"media-ctl -r" fail with -EBUSY.
Treat -ENOIOCTLCMD as success, as at stream on, and only log real
errors, then always stop the pipeline and flush the buffers: a
.stop_streaming() callback cannot fail and must give back all buffers.
Signed-off-by: Allan Siriani <allan@xxxxxxxxxxxxxxxxxxx>
then
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
---
bod