diff options
author | Daniel Mack <daniel@zonque.org> | 2015-03-12 04:41:32 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-03-12 05:19:49 -0400 |
commit | fcdcd1dec6d2c7b718385ec743ae5a9a233edad4 (patch) | |
tree | 2e93fd7325e84125cfa73c2f6144cbce38e77a53 | |
parent | be3bb8236db2d0fcd705062ae2e2a9d75131222f (diff) |
ALSA: snd-usb: add quirks for Roland UA-22
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@zonque.org>
Reported-by: Rafa Lafuente <rafalafuente@gmail.com>
Tested-by: Raphaƫl Doursenaud <raphael@doursenaud.fr>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/usb/quirks-table.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h index 67d476548dcf..07f984d5f516 100644 --- a/sound/usb/quirks-table.h +++ b/sound/usb/quirks-table.h | |||
@@ -1773,6 +1773,36 @@ YAMAHA_DEVICE(0x7010, "UB99"), | |||
1773 | } | 1773 | } |
1774 | } | 1774 | } |
1775 | }, | 1775 | }, |
1776 | { | ||
1777 | USB_DEVICE(0x0582, 0x0159), | ||
1778 | .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { | ||
1779 | /* .vendor_name = "Roland", */ | ||
1780 | /* .product_name = "UA-22", */ | ||
1781 | .ifnum = QUIRK_ANY_INTERFACE, | ||
1782 | .type = QUIRK_COMPOSITE, | ||
1783 | .data = (const struct snd_usb_audio_quirk[]) { | ||
1784 | { | ||
1785 | .ifnum = 0, | ||
1786 | .type = QUIRK_AUDIO_STANDARD_INTERFACE | ||
1787 | }, | ||
1788 | { | ||
1789 | .ifnum = 1, | ||
1790 | .type = QUIRK_AUDIO_STANDARD_INTERFACE | ||
1791 | }, | ||
1792 | { | ||
1793 | .ifnum = 2, | ||
1794 | .type = QUIRK_MIDI_FIXED_ENDPOINT, | ||
1795 | .data = & (const struct snd_usb_midi_endpoint_info) { | ||
1796 | .out_cables = 0x0001, | ||
1797 | .in_cables = 0x0001 | ||
1798 | } | ||
1799 | }, | ||
1800 | { | ||
1801 | .ifnum = -1 | ||
1802 | } | ||
1803 | } | ||
1804 | } | ||
1805 | }, | ||
1776 | /* this catches most recent vendor-specific Roland devices */ | 1806 | /* this catches most recent vendor-specific Roland devices */ |
1777 | { | 1807 | { |
1778 | .match_flags = USB_DEVICE_ID_MATCH_VENDOR | | 1808 | .match_flags = USB_DEVICE_ID_MATCH_VENDOR | |