forked from mirrors/linux
		
	usb: Add USB_QUIRK_RESET_RESUME for all Logitech UVC webcams
Most Logitech UVC webcams (both early models that don't advertise UVC compatibility and newer UVC-advertised devices) require the RESET_RESUME quirk. Instead of listing each and every model, match the devices based on the UVC interface information. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
		
							parent
							
								
									80da2e0df5
								
							
						
					
					
						commit
						e387ef5c47
					
				
					 1 changed files with 16 additions and 42 deletions
				
			
		| 
						 | 
					@ -43,53 +43,23 @@ static const struct usb_device_id usb_quirk_list[] = {
 | 
				
			||||||
	/* Creative SB Audigy 2 NX */
 | 
						/* Creative SB Audigy 2 NX */
 | 
				
			||||||
	{ USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
						{ USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Logitech Webcam C200 */
 | 
						/* Logitech Quickcam Fusion */
 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
						{ USB_DEVICE(0x046d, 0x08c1), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Logitech Webcam C250 */
 | 
						/* Logitech Quickcam Orbit MP */
 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
						{ USB_DEVICE(0x046d, 0x08c2), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Logitech Webcam C300 */
 | 
						/* Logitech Quickcam Pro for Notebook */
 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
						{ USB_DEVICE(0x046d, 0x08c3), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Logitech Webcam B/C500 */
 | 
						/* Logitech Quickcam Pro 5000 */
 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
						{ USB_DEVICE(0x046d, 0x08c5), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Logitech Webcam C600 */
 | 
						/* Logitech Quickcam OEM Dell Notebook */
 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
						{ USB_DEVICE(0x046d, 0x08c6), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Logitech Webcam Pro 9000 */
 | 
						/* Logitech Quickcam OEM Cisco VT Camera II */
 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
						{ USB_DEVICE(0x046d, 0x08c7), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Logitech Webcam C905 */
 | 
					 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x080a), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Logitech Webcam C210 */
 | 
					 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x0819), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Logitech Webcam C260 */
 | 
					 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x081a), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Logitech Webcam C310 */
 | 
					 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Logitech Webcam C910 */
 | 
					 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x0821), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Logitech Webcam C160 */
 | 
					 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x0824), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Logitech Webcam C270 */
 | 
					 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Logitech Quickcam Pro 9000 */
 | 
					 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x0990), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Logitech Quickcam E3500 */
 | 
					 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x09a4), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Logitech Quickcam Vision Pro */
 | 
					 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0x09a6), .driver_info = USB_QUIRK_RESET_RESUME },
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Logitech Harmony 700-series */
 | 
						/* Logitech Harmony 700-series */
 | 
				
			||||||
	{ USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
 | 
						{ USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
 | 
				
			||||||
| 
						 | 
					@ -162,6 +132,10 @@ static const struct usb_device_id usb_quirk_list[] = {
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const struct usb_device_id usb_interface_quirk_list[] = {
 | 
					static const struct usb_device_id usb_interface_quirk_list[] = {
 | 
				
			||||||
 | 
						/* Logitech UVC Cameras */
 | 
				
			||||||
 | 
						{ USB_VENDOR_AND_INTERFACE_INFO(0x046d, USB_CLASS_VIDEO, 1, 0),
 | 
				
			||||||
 | 
						  .driver_info = USB_QUIRK_RESET_RESUME },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	{ }  /* terminating entry must be last */
 | 
						{ }  /* terminating entry must be last */
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue