Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 241fa6e4 authored by Hans de Goede's avatar Hans de Goede Committed by Mauro Carvalho Chehab
Browse files

[media] uvcvideo: GET_RES should only be checked for BITMAP type menu controls



Currently it is also being checked for non BITMAP type menu controls,
breaking the logitech LED control menu added by uvcdynctrl, as well as
potentially breaking the powerline frequency menu.

Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent b3f4e1eb
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1016,7 +1016,8 @@ int uvc_query_v4l2_menu(struct uvc_video_chain *chain,

	menu_info = &mapping->menu_info[query_menu->index];

	if (ctrl->info.flags & UVC_CTRL_FLAG_GET_RES) {
	if (mapping->data_type == UVC_CTRL_DATA_TYPE_BITMASK &&
	    (ctrl->info.flags & UVC_CTRL_FLAG_GET_RES)) {
		s32 bitmap;

		if (!ctrl->cached) {
@@ -1225,7 +1226,8 @@ int uvc_ctrl_set(struct uvc_video_chain *chain,
		/* Valid menu indices are reported by the GET_RES request for
		 * UVC controls that support it.
		 */
		if (ctrl->info.flags & UVC_CTRL_FLAG_GET_RES) {
		if (mapping->data_type == UVC_CTRL_DATA_TYPE_BITMASK &&
		    (ctrl->info.flags & UVC_CTRL_FLAG_GET_RES)) {
			if (!ctrl->cached) {
				ret = uvc_ctrl_populate_cache(chain, ctrl);
				if (ret < 0)