Patch "usb: gadget: uvc: use on returned header len in video_encode_isoc_sg" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    usb: gadget: uvc: use on returned header len in video_encode_isoc_sg

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     usb-gadget-uvc-use-on-returned-header-len-in-video_encode_isoc_sg.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From f262ce66d40cc6858d1fcb11e7b7f960448a4f38 Mon Sep 17 00:00:00 2001
From: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>
Date: Fri, 22 Oct 2021 11:32:22 +0200
Subject: usb: gadget: uvc: use on returned header len in video_encode_isoc_sg

From: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>

commit f262ce66d40cc6858d1fcb11e7b7f960448a4f38 upstream.

The function uvc_video_encode_header function returns the number of
bytes used for the header. We change the video_encode_isoc_sg function
to use the returned header_len rather than UVCG_REQUEST_HEADER_LEN and
make the encode function more flexible.

Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20211022093223.26493-1-m.grzeschik@xxxxxxxxxxxxxx
Cc: Dan Vacura <w36195@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 drivers/usb/gadget/function/uvc_video.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

--- a/drivers/usb/gadget/function/uvc_video.c
+++ b/drivers/usb/gadget/function/uvc_video.c
@@ -104,22 +104,22 @@ uvc_video_encode_isoc_sg(struct usb_requ
 	unsigned int len = video->req_size;
 	unsigned int sg_left, part = 0;
 	unsigned int i;
-	int ret;
+	int header_len;
 
 	sg = ureq->sgt.sgl;
 	sg_init_table(sg, ureq->sgt.nents);
 
 	/* Init the header. */
-	ret = uvc_video_encode_header(video, buf, ureq->header,
+	header_len = uvc_video_encode_header(video, buf, ureq->header,
 				      video->req_size);
-	sg_set_buf(sg, ureq->header, UVCG_REQUEST_HEADER_LEN);
-	len -= ret;
+	sg_set_buf(sg, ureq->header, header_len);
+	len -= header_len;
 
 	if (pending <= len)
 		len = pending;
 
 	req->length = (len == pending) ?
-		len + UVCG_REQUEST_HEADER_LEN : video->req_size;
+		len + header_len : video->req_size;
 
 	/* Init the pending sgs with payload */
 	sg = sg_next(sg);
@@ -148,7 +148,7 @@ uvc_video_encode_isoc_sg(struct usb_requ
 	req->num_sgs = i + 1;
 
 	req->length -= len;
-	video->queue.buf_used += req->length - UVCG_REQUEST_HEADER_LEN;
+	video->queue.buf_used += req->length - header_len;
 
 	if (buf->bytesused == video->queue.buf_used || !buf->sg) {
 		video->queue.buf_used = 0;


Patches currently in stable-queue which might be from m.grzeschik@xxxxxxxxxxxxxx are

queue-5.15/usb-gadget-uvc-improve-sg-exit-condition.patch
queue-5.15/usb-gadget-uvc-rework-uvcg_queue_next_buffer-to-uvcg_complete_buffer.patch
queue-5.15/usb-gadget-uvc-giveback-vb2-buffer-on-req-complete.patch
queue-5.15/usb-gadget-uvc-consistently-use-define-for-headerlen.patch
queue-5.15/usb-gadget-uvc-use-on-returned-header-len-in-video_encode_isoc_sg.patch



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux