Merge branch 'fix/misc' into for-linus
* fix/misc: sound: usb-audio: make the MotU Fastlane work again
This commit is contained in:
commit
f00452cfdc
|
@ -3347,7 +3347,7 @@ static int snd_usb_create_quirk(struct snd_usb_audio *chip,
|
|||
[QUIRK_MIDI_YAMAHA] = snd_usb_create_midi_interface,
|
||||
[QUIRK_MIDI_MIDIMAN] = snd_usb_create_midi_interface,
|
||||
[QUIRK_MIDI_NOVATION] = snd_usb_create_midi_interface,
|
||||
[QUIRK_MIDI_RAW] = snd_usb_create_midi_interface,
|
||||
[QUIRK_MIDI_FASTLANE] = snd_usb_create_midi_interface,
|
||||
[QUIRK_MIDI_EMAGIC] = snd_usb_create_midi_interface,
|
||||
[QUIRK_MIDI_CME] = snd_usb_create_midi_interface,
|
||||
[QUIRK_AUDIO_STANDARD_INTERFACE] = create_standard_audio_quirk,
|
||||
|
|
|
@ -153,7 +153,7 @@ enum quirk_type {
|
|||
QUIRK_MIDI_YAMAHA,
|
||||
QUIRK_MIDI_MIDIMAN,
|
||||
QUIRK_MIDI_NOVATION,
|
||||
QUIRK_MIDI_RAW,
|
||||
QUIRK_MIDI_FASTLANE,
|
||||
QUIRK_MIDI_EMAGIC,
|
||||
QUIRK_MIDI_CME,
|
||||
QUIRK_MIDI_US122L,
|
||||
|
|
|
@ -1778,8 +1778,18 @@ int snd_usb_create_midi_interface(struct snd_usb_audio* chip,
|
|||
umidi->usb_protocol_ops = &snd_usbmidi_novation_ops;
|
||||
err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints);
|
||||
break;
|
||||
case QUIRK_MIDI_RAW:
|
||||
case QUIRK_MIDI_FASTLANE:
|
||||
umidi->usb_protocol_ops = &snd_usbmidi_raw_ops;
|
||||
/*
|
||||
* Interface 1 contains isochronous endpoints, but with the same
|
||||
* numbers as in interface 0. Since it is interface 1 that the
|
||||
* USB core has most recently seen, these descriptors are now
|
||||
* associated with the endpoint numbers. This will foul up our
|
||||
* attempts to submit bulk/interrupt URBs to the endpoints in
|
||||
* interface 0, so we have to make sure that the USB core looks
|
||||
* again at interface 0 by calling usb_set_interface() on it.
|
||||
*/
|
||||
usb_set_interface(umidi->chip->dev, 0, 0);
|
||||
err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints);
|
||||
break;
|
||||
case QUIRK_MIDI_EMAGIC:
|
||||
|
|
|
@ -1868,7 +1868,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|||
.data = & (const struct snd_usb_audio_quirk[]) {
|
||||
{
|
||||
.ifnum = 0,
|
||||
.type = QUIRK_MIDI_RAW
|
||||
.type = QUIRK_MIDI_FASTLANE
|
||||
},
|
||||
{
|
||||
.ifnum = 1,
|
||||
|
|
Loading…
Reference in a new issue