Skip to contentSkip to conversation

usb/gadget/uvc-configfs Fix linked flag in a format not being set when format is linked into streaming header

PATCH RESEND New Laurent Pinchart 1 participant 1 message Jun 8, 2018 USB

lore
Share & tools
lore
#0 lore raw

PATCH RESEND v6 1/2 usb/gadget/uvc-configfs Fix linked flag in a format not being set when format is linked into streaming header

Hi Joel,

Thank you for the patch, and sorry for the late reply.

Quoted 5 lines · On Tuesday, 29 May 2018 22:02:12 EEST Joel Pepper wrote:

While checks are in place to avoid attributes and children of a format being manipulated after the format is linked into the streaming header, the linked flag was never actually set, invalidating the protections.

This looks good to me, but you might want to shorten the subject line though, it's supposed to fit in 72 characters. How about

usb: gadget: uvc: configfs: Prevent format changes after linking header

Apart from that,

Quoted 25 lines
---
 drivers/usb/gadget/function/uvc_configfs.c | 3 +++
 1 file changed, 3 insertions(+)
(quoted diff) +0 -0

b/drivers/usb/gadget/function/uvc_configfs.c index c9b8cc4a..7a98f9f 100644

drivers/usb/gadget/function/uvc_configfs.c +3 -0
@@ -760,6 +760,7 @@ static int uvcg_streaming_header_allow_link(struct
 config_item *src, format_ptr->fmt = target_fmt;
 	list_add_tail(&format_ptr->entry, &src_hdr->formats);
 	++src_hdr->num_fmt;
+	++target_fmt->linked;
 
 out:
 	mutex_unlock(&opts->lock);
@@ -797,6 +798,8 @@ static void uvcg_streaming_header_drop_link(struct
 config_item *src, break;
 		}
 
+	--target_fmt->linked;
+
 out:
 	mutex_unlock(&opts->lock);
 	mutex_unlock(su_mutex);