History

Merge tag 'tags/fixes-media-uvc-20230722' of git://git.kernel.org/pub/scm/linux/kernel/git/pinchartl/linux.git

uvcvideo v6.11 regression fix: fix custom control mapping probing

Hans Verkuil committed 2 years ago

Commit e2ed5362 parents 914f896 66558531 file · +5 −3Browse files

Unified · Split

drivers/media/usb/uvc/uvc_ctrl.c+5−3
@@ -2680,6 +2680,10 @@ static void uvc_ctrl_init_ctrl(struct uvc_video_chain *chain, · 2679 unmodified lines
26802680 for (i = 0; i < ARRAY_SIZE(uvc_ctrl_mappings); ++i) {
26812681 const struct uvc_control_mapping *mapping = &uvc_ctrl_mappings[i];
26822682
2683+ if (!uvc_entity_match_guid(ctrl->entity, mapping->entity) ||
2684+ ctrl->info.selector != mapping->selector)
2685+ continue;
2686+
26832687 /* Let the device provide a custom mapping. */
26842688 if (mapping->filter_mapping) {
26852689 mapping = mapping->filter_mapping(chain, ctrl);
@@ -2687,9 +2691,7 @@ static void uvc_ctrl_init_ctrl(struct uvc_video_chain *chain, · 1 unmodified line
26872691 continue;
26882692 }
26892693
2690− if (uvc_entity_match_guid(ctrl->entity, mapping->entity) &&
2691− ctrl->info.selector == mapping->selector)
2692− __uvc_ctrl_add_mapping(chain, ctrl, mapping);
2694+ __uvc_ctrl_add_mapping(chain, ctrl, mapping);
26932695 }
26942696 }
26952697