[alsa-devel] [PATCH] ALSA: snd-usb: add quirks for Roland UA-22

Takashi Iwai tiwai at suse.de
Thu Mar 12 10:21:12 CET 2015


At Thu, 12 Mar 2015 09:41:32 +0100,
Daniel Mack wrote:
> 
> The device complies to the UAC1 standard but hides that fact with
> proprietary descriptors. The autodetect quirk for Roland devices
> catches the audio interface but misses the MIDI part, so a specific
> quirk is needed.
> 
> Signed-off-by: Daniel Mack <daniel at zonque.org>
> Reported-by: Rafa Lafuente <rafalafuente at gmail.com>
> Tested-by: Raphaël Doursenaud <raphael at doursenaud.fr>

Applied now (with Cc to stable).  Thanks.


Takashi

> ---
>  sound/usb/quirks-table.h | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
> 
> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
> index 67d4765..07f984d 100644
> --- a/sound/usb/quirks-table.h
> +++ b/sound/usb/quirks-table.h
> @@ -1773,6 +1773,36 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>  		}
>  	}
>  },
> +{
> +	USB_DEVICE(0x0582, 0x0159),
> +	.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
> +		/* .vendor_name = "Roland", */
> +		/* .product_name = "UA-22", */
> +		.ifnum = QUIRK_ANY_INTERFACE,
> +		.type = QUIRK_COMPOSITE,
> +		.data = (const struct snd_usb_audio_quirk[]) {
> +			{
> +				.ifnum = 0,
> +				.type = QUIRK_AUDIO_STANDARD_INTERFACE
> +			},
> +			{
> +				.ifnum = 1,
> +				.type = QUIRK_AUDIO_STANDARD_INTERFACE
> +			},
> +			{
> +				.ifnum = 2,
> +				.type = QUIRK_MIDI_FIXED_ENDPOINT,
> +				.data = & (const struct snd_usb_midi_endpoint_info) {
> +					.out_cables = 0x0001,
> +					.in_cables = 0x0001
> +				}
> +			},
> +			{
> +				.ifnum = -1
> +			}
> +		}
> +	}
> +},
>  /* this catches most recent vendor-specific Roland devices */
>  {
>  	.match_flags = USB_DEVICE_ID_MATCH_VENDOR |
> -- 
> 2.3.1
> 


More information about the Alsa-devel mailing list