+++ /dev/null
-From: Brandon Philips <bphilips@suse.de>
-Subject: uvcvideo: ignore hue control for 5986:0241
-References: bnc#499152
-Patch-mainline: Never? I will submit upstream but there is probably a better fix
-
-Querying the hue control on Bison 5986:0241 causes the chipset to
-lockup. So, create a quirk that will avoid offering V4L2_CID_HUE to user
-space.
-
-Signed-off-by: Brandon Philips <bphilips@suse.de>
-
----
- drivers/media/video/uvc/uvc_ctrl.c | 4 ++++
- drivers/media/video/uvc/uvc_driver.c | 8 ++++++++
- drivers/media/video/uvc/uvcvideo.h | 1 +
- 3 files changed, 13 insertions(+)
-
---- a/drivers/media/video/uvc/uvc_ctrl.c
-+++ b/drivers/media/video/uvc/uvc_ctrl.c
-@@ -588,6 +588,10 @@ int uvc_query_v4l2_ctrl(struct uvc_video
- __u8 *data;
- int ret;
-
-+ if ((video->dev->quirks & UVC_QUIRK_HUE_EPIPE) &&
-+ (v4l2_ctrl->id == V4L2_CID_HUE))
-+ return -EINVAL;
-+
- ctrl = uvc_find_control(video, v4l2_ctrl->id, &mapping);
- if (ctrl == NULL)
- return -EINVAL;
---- a/drivers/media/video/uvc/uvc_driver.c
-+++ b/drivers/media/video/uvc/uvc_driver.c
-@@ -1948,6 +1948,14 @@ static struct usb_device_id uvc_ids[] =
- .bInterfaceSubClass = 1,
- .bInterfaceProtocol = 0,
- .driver_info = UVC_QUIRK_PROBE_MINMAX },
-+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
-+ | USB_DEVICE_ID_MATCH_INT_INFO,
-+ .idVendor = 0x5986,
-+ .idProduct = 0x0241,
-+ .bInterfaceClass = USB_CLASS_VIDEO,
-+ .bInterfaceSubClass = 1,
-+ .bInterfaceProtocol = 0,
-+ .driver_info = UVC_QUIRK_HUE_EPIPE },
- /* Generic USB Video Class */
- { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, 0) },
- {}
---- a/drivers/media/video/uvc/uvcvideo.h
-+++ b/drivers/media/video/uvc/uvcvideo.h
-@@ -314,6 +314,7 @@ struct uvc_xu_control {
- #define UVC_QUIRK_BUILTIN_ISIGHT 0x00000008
- #define UVC_QUIRK_STREAM_NO_FID 0x00000010
- #define UVC_QUIRK_IGNORE_SELECTOR_UNIT 0x00000020
-+#define UVC_QUIRK_HUE_EPIPE 0x00000100
-
- /* Format flags */
- #define UVC_FMT_FLAG_COMPRESSED 0x00000001