mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-11 15:14:03 +08:00
bd994ddb2a
videobuf2 stores the driver streaming state internally in the queue in the start_streaming_called variable. The state is set right after the driver start_stream operation returns, and checked in the vb2_buffer_done() function, typically called from the frame completion interrupt handler. A race condition exists if the hardware finishes processing the first frame before the start_stream operation returns. Fix this by setting start_streaming_called to 1 before calling the start_stream operation, and resetting it to 0 if the operation fails. Cc: stable@vger.kernel.org # for v3.15 and up Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
tuner-core.c | ||
v4l2-async.c | ||
v4l2-clk.c | ||
v4l2-common.c | ||
v4l2-compat-ioctl32.c | ||
v4l2-ctrls.c | ||
v4l2-dev.c | ||
v4l2-device.c | ||
v4l2-dv-timings.c | ||
v4l2-event.c | ||
v4l2-fh.c | ||
v4l2-ioctl.c | ||
v4l2-mem2mem.c | ||
v4l2-of.c | ||
v4l2-subdev.c | ||
videobuf2-core.c | ||
videobuf2-dma-contig.c | ||
videobuf2-dma-sg.c | ||
videobuf2-dvb.c | ||
videobuf2-memops.c | ||
videobuf2-vmalloc.c | ||
videobuf-core.c | ||
videobuf-dma-contig.c | ||
videobuf-dma-sg.c | ||
videobuf-dvb.c | ||
videobuf-vmalloc.c |