Hi Ricardo, On Tue, Jul 26, 2022 at 02:11:07PM +0200, Ricardo Ribalda wrote: > Arghh > > it seems like the merged version was not the latest version, so yes, > this patch is needed. Sorry about that :-S > Reviewed-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> Mauro, this is a fix for v5.20, could you apply it to your tree ? > By the way, are you still interested in this: > > https://patchwork.linuxtv.org/project/linux-media/patch/20220617235610.321917-5-ribalda@xxxxxxxxxxxx/ > > So I prepare a new version for it. Thank you :-) > On Tue, 26 Jul 2022 at 14:00, Ricardo Ribalda <ribalda@xxxxxxxxxxxx> wrote: > > > > Hi Laurent > > > > Is this needed? > > > > It is already part of v8 > > > > https://patchwork.linuxtv.org/project/linux-media/patch/20220617235610.321917-3-ribalda@xxxxxxxxxxxx/ > > > > On Mon, 18 Jul 2022 at 14:12, Laurent Pinchart > > <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote: > > > > > > The handling of per-device mappings introduced in commit 86f7ef773156 > > > ("media: uvcvideo: Add support for per-device control mapping > > > overrides") overwrote the mapping variable after it was initialized and > > > before it was used, leading to usage of an invalid pointer for devices > > > with per-device mappings. Fix it. > > > > > > Fixes: 86f7ef773156 ("media: uvcvideo: Add support for per-device control mapping overrides") > > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > > --- > > > drivers/media/usb/uvc/uvc_ctrl.c | 8 +++++--- > > > 1 file changed, 5 insertions(+), 3 deletions(-) > > > > > > diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c > > > index e4826a846861..8c208db9600b 100644 > > > --- a/drivers/media/usb/uvc/uvc_ctrl.c > > > +++ b/drivers/media/usb/uvc/uvc_ctrl.c > > > @@ -2413,9 +2413,8 @@ static void uvc_ctrl_init_ctrl(struct uvc_video_chain *chain, > > > { > > > const struct uvc_control_info *info = uvc_ctrls; > > > const struct uvc_control_info *iend = info + ARRAY_SIZE(uvc_ctrls); > > > - const struct uvc_control_mapping *mapping = uvc_ctrl_mappings; > > > - const struct uvc_control_mapping *mend = > > > - mapping + ARRAY_SIZE(uvc_ctrl_mappings); > > > + const struct uvc_control_mapping *mapping; > > > + const struct uvc_control_mapping *mend; > > > > > > /* > > > * XU controls initialization requires querying the device for control > > > @@ -2468,6 +2467,9 @@ static void uvc_ctrl_init_ctrl(struct uvc_video_chain *chain, > > > } > > > > > > /* Process common mappings next. */ > > > + mapping = uvc_ctrl_mappings; > > > + mend = mapping + ARRAY_SIZE(uvc_ctrl_mappings); > > > + > > > for (; mapping < mend; ++mapping) { > > > if (uvc_entity_match_guid(ctrl->entity, mapping->entity) && > > > ctrl->info.selector == mapping->selector) > > > > > > base-commit: 8bd1dbf8d580c425605fb8936309a4e9745a7a95 > > > prerequisite-patch-id: 89d2dc61eb83afb89fb075a63e161ea0b87fdcc7 > > > prerequisite-patch-id: 01354ee4b874fea1acc040a23badff034588362f > > > prerequisite-patch-id: 7ae47f109892b89675acbdc0c6bcc1487436ec78 -- Regards, Laurent Pinchart