OK, The following patch works for me. usb_match_id doesn't seem to be working properly, so I'm using dev->udev->descriptor instead. I'm also not a big fan of "continue" so I change it to a simple if..else statement, this shouldn't make any difference (it's just easy for read, at least for me :D)
Best regards Paulo ---------- Forwarded message ---------- From: Paulo Assis <pj.as...@gmail.com> Date: 2009/12/5 Subject: control black list To: linux-uvc development discussions <linux-uvc-devel@lists.berlios.de> Laurent Hi, I've just discovered that all my camera models have the WB Temperature and Hue controls black listed, I would suppose that the control black list was device specific. For some reason the device id's are not taken into account and the controls get blacklisted in all models. If I have time today, I'll check the reason and post a patch to fix the issue. Best regards, Paulo
--- v4l-dvb/linux/drivers/media/video/uvc/uvc_ctrl.c 2009-12-05 14:56:27.218222463 +0000 +++ v4l-dvb_patched/linux/drivers/media/video/uvc/uvc_ctrl.c 2009-12-05 15:00:56.669222823 +0000 @@ -1395,17 +1395,17 @@ size = entity->processing.bControlSize; for (i = 0; i < ARRAY_SIZE(blacklist); ++i) { - if (!usb_match_id(dev->intf, &blacklist[i].id)) - continue; - - if (blacklist[i].index >= 8 * size || - !uvc_test_bit(controls, blacklist[i].index)) - continue; + if((dev->udev->descriptor.idVendor == blacklist[i].id.idVendor) && + (dev->udev->descriptor.idProduct == blacklist[i].id.idProduct) && + (blacklist[i].index < 8 * size) && + uvc_test_bit(controls, blacklist[i].index)) + { + + uvc_trace(UVC_TRACE_CONTROL, "%u/%u control is black listed for [%.4x:%.4x], " + "removing it.\n", entity->id, blacklist[i].index, dev->udev->descriptor.idVendor, dev->udev->descriptor.idProduct); - uvc_trace(UVC_TRACE_CONTROL, "%u/%u control is black listed, " - "removing it.\n", entity->id, blacklist[i].index); - - uvc_clear_bit(controls, blacklist[i].index); + uvc_clear_bit(controls, blacklist[i].index); + } } }
_______________________________________________ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel