mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-19 21:21:09 +00:00
ALSA: usb-audio: fix automatic Roland/Yamaha MIDI detection
Commit aafe77cc45
(ALSA: usb-audio: add support for many Roland/Yamaha
devices) had several logic errors that prevented create_auto_midi_quirk
from enumerating any MIDI ports.
Reported-by: Keith A. Milner <maillist@superlative.org>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
4c2aee0032
commit
aa773bfe8f
1 changed files with 3 additions and 3 deletions
|
@ -319,19 +319,19 @@ static int create_auto_midi_quirk(struct snd_usb_audio *chip,
|
||||||
if (altsd->bNumEndpoints < 1)
|
if (altsd->bNumEndpoints < 1)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
epd = get_endpoint(alts, 0);
|
epd = get_endpoint(alts, 0);
|
||||||
if (!usb_endpoint_xfer_bulk(epd) ||
|
if (!usb_endpoint_xfer_bulk(epd) &&
|
||||||
!usb_endpoint_xfer_int(epd))
|
!usb_endpoint_xfer_int(epd))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
switch (USB_ID_VENDOR(chip->usb_id)) {
|
switch (USB_ID_VENDOR(chip->usb_id)) {
|
||||||
case 0x0499: /* Yamaha */
|
case 0x0499: /* Yamaha */
|
||||||
err = create_yamaha_midi_quirk(chip, iface, driver, alts);
|
err = create_yamaha_midi_quirk(chip, iface, driver, alts);
|
||||||
if (err < 0 && err != -ENODEV)
|
if (err != -ENODEV)
|
||||||
return err;
|
return err;
|
||||||
break;
|
break;
|
||||||
case 0x0582: /* Roland */
|
case 0x0582: /* Roland */
|
||||||
err = create_roland_midi_quirk(chip, iface, driver, alts);
|
err = create_roland_midi_quirk(chip, iface, driver, alts);
|
||||||
if (err < 0 && err != -ENODEV)
|
if (err != -ENODEV)
|
||||||
return err;
|
return err;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue