According to documentation of struct vb2_ops the .queue_setup() callback should return an error if the number of planes parameter contains an invalid value on input. Fix this instead of ignoring the value. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@xxxxxxxxx> --- drivers/media/usb/uvc/uvc_queue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/usb/uvc/uvc_queue.c b/drivers/media/usb/uvc/uvc_queue.c index aa21997..371a4ad 100644 --- a/drivers/media/usb/uvc/uvc_queue.c +++ b/drivers/media/usb/uvc/uvc_queue.c @@ -84,7 +84,7 @@ static int uvc_queue_setup(struct vb2_queue *vq, /* Make sure the image size is large enough. */ if (*nplanes) - return sizes[0] < size ? -EINVAL : 0; + return sizes[0] < size || *nplanes != 1 ? -EINVAL : 0; *nplanes = 1; sizes[0] = size; return 0; -- 1.9.3