--- /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