Hi Laurent On Thu, Sep 14, 2023 at 8:16 PM Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote: > > The subdev .s_stream() operation must not be called to start an already > started subdev, or stop an already stopped one. This requirement has > never been formally documented. Fix it. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > include/media/v4l2-subdev.h | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h > index d9fca929c10b..282914ea9d45 100644 > --- a/include/media/v4l2-subdev.h > +++ b/include/media/v4l2-subdev.h > @@ -446,7 +446,9 @@ enum v4l2_subdev_pre_streamon_flags { > * @s_stream: start (enabled == 1) or stop (enabled == 0) streaming on the > * sub-device. Failure on stop will remove any resources acquired in > * streaming start, while the error code is still returned by the driver. > - * Also see call_s_stream wrapper in v4l2-subdev.c. > + * The caller shall track the subdev state, and refrain from starting or What about s/refrain/ shall not/ ? I refrain (and fail) from eating chocolate, but I shall not eat rat poison :P > + * stopping an already started or stopped subdev. AAlso see call_s_stream > + * wrapper in v4l2-subdev.c. s/AAlso/Also/ > * > * @g_pixelaspect: callback to return the pixelaspect ratio. > * > -- > Regards, > > Laurent Pinchart >