|
@@ -319,19 +319,19 @@ static int create_auto_midi_quirk(struct snd_usb_audio *chip,
|
|
|
if (altsd->bNumEndpoints < 1)
|
|
|
return -ENODEV;
|
|
|
epd = get_endpoint(alts, 0);
|
|
|
- if (!usb_endpoint_xfer_bulk(epd) ||
|
|
|
+ if (!usb_endpoint_xfer_bulk(epd) &&
|
|
|
!usb_endpoint_xfer_int(epd))
|
|
|
return -ENODEV;
|
|
|
|
|
|
switch (USB_ID_VENDOR(chip->usb_id)) {
|
|
|
case 0x0499: /* Yamaha */
|
|
|
err = create_yamaha_midi_quirk(chip, iface, driver, alts);
|
|
|
- if (err < 0 && err != -ENODEV)
|
|
|
+ if (err != -ENODEV)
|
|
|
return err;
|
|
|
break;
|
|
|
case 0x0582: /* Roland */
|
|
|
err = create_roland_midi_quirk(chip, iface, driver, alts);
|
|
|
- if (err < 0 && err != -ENODEV)
|
|
|
+ if (err != -ENODEV)
|
|
|
return err;
|
|
|
break;
|
|
|
}
|