mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
be3bb8236d
commit
fcdcd1dec6
|
@ -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 */
|
/* this catches most recent vendor-specific Roland devices */
|
||||||
{
|
{
|
||||||
.match_flags = USB_DEVICE_ID_MATCH_VENDOR |
|
.match_flags = USB_DEVICE_ID_MATCH_VENDOR |
|
||||||
|
|
Loading…
Reference in New Issue