usb: gadget: uvc: consistently use define for headerlen
authorMichael Grzeschik <m.grzeschik@pengutronix.de>
Mon, 18 Oct 2021 07:20:59 +0000 (09:20 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 29 Oct 2022 08:12:53 +0000 (10:12 +0200)
commit 859c675d84d488e2f9b515c713ea890c9f045f0c upstream.

The uvc request headerlen of 2 was defined as UVCG_REQUEST_HEADER_LEN
in commit e81e7f9a0eb9 ("usb: gadget: uvc: add scatter gather support").
We missed to use it consistently. This patch fixes that.

Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Link: https://lore.kernel.org/r/20211018072059.11465-1-m.grzeschik@pengutronix.de
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Dan Vacura <w36195@motorola.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/function/uvc.h
drivers/usb/gadget/function/uvc_video.c
drivers/usb/gadget/function/uvc_video.h

index 0966c5a..9727111 100644 (file)
@@ -69,6 +69,8 @@ extern unsigned int uvc_gadget_trace_param;
 #define UVC_MAX_REQUEST_SIZE                   64
 #define UVC_MAX_EVENTS                         4
 
+#define UVCG_REQUEST_HEADER_LEN                        2
+
 /* ------------------------------------------------------------------------
  * Structures
  */
@@ -77,7 +79,7 @@ struct uvc_request {
        u8 *req_buffer;
        struct uvc_video *video;
        struct sg_table sgt;
-       u8 header[2];
+       u8 header[UVCG_REQUEST_HEADER_LEN];
 };
 
 struct uvc_video {
index e170e88..d222200 100644 (file)
@@ -33,7 +33,7 @@ uvc_video_encode_header(struct uvc_video *video, struct uvc_buffer *buf,
        if (buf->bytesused - video->queue.buf_used <= len - UVCG_REQUEST_HEADER_LEN)
                data[1] |= UVC_STREAM_EOF;
 
-       return 2;
+       return UVCG_REQUEST_HEADER_LEN;
 }
 
 static int
@@ -302,8 +302,8 @@ uvc_video_alloc_requests(struct uvc_video *video)
                list_add_tail(&video->ureq[i].req->list, &video->req_free);
                /* req_size/PAGE_SIZE + 1 for overruns and + 1 for header */
                sg_alloc_table(&video->ureq[i].sgt,
-                              DIV_ROUND_UP(req_size - 2, PAGE_SIZE) + 2,
-                              GFP_KERNEL);
+                              DIV_ROUND_UP(req_size - UVCG_REQUEST_HEADER_LEN,
+                                           PAGE_SIZE) + 2, GFP_KERNEL);
        }
 
        video->req_size = req_size;
index 9bf1947..03adeef 100644 (file)
@@ -12,8 +12,6 @@
 #ifndef __UVC_VIDEO_H__
 #define __UVC_VIDEO_H__
 
-#define UVCG_REQUEST_HEADER_LEN                        2
-
 struct uvc_video;
 
 int uvcg_video_enable(struct uvc_video *video, int enable);