Hi Felix,

could you please test the following patch ? I moved the usb_set_interface() 
call to uvc_video_init(). You will still have to modify the 
UVC_CTRL_STREAMING_TIMEOUT globally for testing, I'll try to come up with a 
nice solution for that once you confirm that the usb_set_interface() call 
fixes the problem.

Best regards,

Laurent Pinchart
Index: uvc_video.c
===================================================================
--- uvc_video.c	(revision 122)
+++ uvc_video.c	(working copy)
@@ -883,6 +883,13 @@
 		return -EINVAL;
 	}
 
+	/* Alternate setting 0 should be the default, yet the XBox Live Vision
+	 * Cam (and possibly other devices) crash or otherwise misbehave if
+	 * they don't receive a SET_INTERFACE request before any other video
+	 * control request.
+	 */
+	usb_set_interface(video->dev->udev, video->streaming->intfnum, 0);
+
 	/* Some webcams don't suport GET_DEF request on the probe control. We
 	 * fall back to GET_CUR if GET_DEF fails.
 	 */
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to