Hi Tharindu,

On Saturday 20 October 2007, Tharindu Rukshan Bamunuarachchi wrote:
> Am I unlucky ?   :-(

Your device is definitely faulty. I'm a bit puzzled regarding how the device 
could work at all without a workaround. Have you tested it with Windows ? 
Does it come with its UVC driver or does it use Microsoft's supplied driver ?

Anyway, here's a patch that should fix the problem. Could you please test it ?

Best regards,

Laurent Pinchart
Index: uvc_video.c
===================================================================
--- uvc_video.c	(revision 138)
+++ uvc_video.c	(working copy)
@@ -21,6 +21,10 @@
 #include <linux/wait.h>
 #include <asm/atomic.h>
 
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
+#include <media/v4l2-common.h>
+#endif
+
 #include "uvcvideo.h"
 
 /* ------------------------------------------------------------------------
@@ -774,6 +778,13 @@
 		/* Isochronous endpoint, select the alternate setting. */
 		bandwidth = video->streaming->ctrl.dwMaxPayloadTransferSize;
 
+		if (bandwidth == 0) {
+			uvc_printk(KERN_WARNING, "device %s requested null "
+				"bandwidth, defaulting to lowest.\n",
+				video->vdev->name);
+			bandwidth = 1;
+		}
+
 		for (i = 0; i < intf->num_altsetting; ++i) {
 			alts = &intf->altsetting[i];
 			ep = uvc_find_endpoint(alts,
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to