Re: [PATCH] snd-usb-audio: explicitly match Logitech QuickCam

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel,gmane.linux.alsa.devel
Message-ID <[email protected]>
On Mon, 30 Apr 2007, Daniel Drake wrote:

> Commit 93c8bf45e083b89dffe3a708363c15c1b220c723 modified the USB device
> matching behaviour to ignore interface class matches if the device class
> is vendor-specific.
> 
> This patch adds an explicit ID match for the Logitech QuickCam Messenger,
> which has a vendor specific device class (but standards-compliant audio
> interfaces).
> 
> This fixes a 2.6.20 regression where the audio component of this device was
> no longer usable.
> 
> http://bugs.gentoo.org/show_bug.cgi?id=175715
> https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/93822
> https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3040
> 
> Based on a patch from sergiom
> 
> Signed-off-by: Daniel Drake <[email protected]>
> 
> Index: linux/sound/usb/usbquirks.h
> ===================================================================
> --- linux.orig/sound/usb/usbquirks.h
> +++ linux/sound/usb/usbquirks.h
> @@ -40,6 +40,21 @@
>  	.bInterfaceClass = USB_CLASS_VENDOR_SPEC
>  
>  /*
> + * Logitech QuickCam: bDeviceClass is vendor-specific, so generic interface
> + * class matches do not take effect without an explicit ID match.
> + */
> +
> +{
> +	.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
> +		       USB_DEVICE_ID_MATCH_INT_CLASS |
> +		       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
> +	.idVendor = 0x046d,
> +	.idProduct = 0x08f0,
> +	.bInterfaceClass = USB_CLASS_AUDIO,
> +	.bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL
> +},
> +
> +/*
>   * Yamaha devices
>   */

This ought to fix the problem.

You might want to consider adding a macro to include/linux/usb.h to handle
cases like this.  Something like USB_DEVICE_AND_INTERFACE_INFO() -- it
would make life easier for other people in the future when faced with the
same problem.

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.