From: Baoyou Xie Date: Thu, 7 Sep 2017 02:59:48 +0000 (-0400) Subject: media: uvcvideo: Mark buffer error where overflow X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=dfc1648c576719b5a2701805aab1e208789d5969;p=linux.git media: uvcvideo: Mark buffer error where overflow Some cameras post inaccurate frame where next frame data overlap it. this results in screen flicker, and it need to be prevented. So this patch marks the buffer error to discard the frame where buffer overflow. Signed-off-by: Baoyou Xie Reviewed-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c index f4ace6352520b..73cd44e8bd81f 100644 --- a/drivers/media/usb/uvc/uvc_video.c +++ b/drivers/media/usb/uvc/uvc_video.c @@ -1077,6 +1077,7 @@ static void uvc_video_decode_data(struct uvc_streaming *stream, /* Complete the current frame if the buffer size was exceeded. */ if (len > maxlen) { uvc_trace(UVC_TRACE_FRAME, "Frame complete (overflow).\n"); + buf->error = 1; buf->state = UVC_BUF_STATE_READY; } }