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

[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
...@@ -1016,7 +1016,8 @@ int uvc_query_v4l2_menu(struct uvc_video_chain *chain, ...@@ -1016,7 +1016,8 @@ int uvc_query_v4l2_menu(struct uvc_video_chain *chain,
menu_info = &mapping->menu_info[query_menu->index]; 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; s32 bitmap;
if (!ctrl->cached) { if (!ctrl->cached) {
...@@ -1225,7 +1226,8 @@ int uvc_ctrl_set(struct uvc_video_chain *chain, ...@@ -1225,7 +1226,8 @@ int uvc_ctrl_set(struct uvc_video_chain *chain,
/* Valid menu indices are reported by the GET_RES request for /* Valid menu indices are reported by the GET_RES request for
* UVC controls that support it. * 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) { if (!ctrl->cached) {
ret = uvc_ctrl_populate_cache(chain, ctrl); ret = uvc_ctrl_populate_cache(chain, ctrl);
if (ret < 0) if (ret < 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment