aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/sound/usb/uaudio.c6
-rw-r--r--sys/dev/sound/usb/uaudioreg.h2
-rw-r--r--sys/dev/usb/quirk/usb_quirk.c1
-rw-r--r--sys/dev/usb/usbdevs2
4 files changed, 7 insertions, 4 deletions
diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c
index 2bf6f2867333..df1d131f874e 100644
--- a/sys/dev/sound/usb/uaudio.c
+++ b/sys/dev/sound/usb/uaudio.c
@@ -1745,7 +1745,7 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usb_device *udev,
continue;
}
- if ((acdp != NULL) &&
+ if ((acdp != NULL || sc->sc_uq_au_vendor_class != 0) &&
(desc->bDescriptorType == UDESC_CS_INTERFACE) &&
(desc->bDescriptorSubtype == AS_GENERAL) &&
(asid.v1 == NULL)) {
@@ -1761,7 +1761,7 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usb_device *udev,
}
}
}
- if ((acdp != NULL) &&
+ if ((acdp != NULL || sc->sc_uq_au_vendor_class != 0) &&
(desc->bDescriptorType == UDESC_CS_INTERFACE) &&
(desc->bDescriptorSubtype == FORMAT_TYPE) &&
(asf1d.v1 == NULL)) {
@@ -1800,7 +1800,7 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usb_device *udev,
continue;
}
}
- if ((acdp != NULL) &&
+ if ((acdp != NULL || sc->sc_uq_au_vendor_class != 0) &&
(desc->bDescriptorType == UDESC_CS_ENDPOINT) &&
(desc->bDescriptorSubtype == AS_GENERAL) &&
(sed.v1 == NULL)) {
diff --git a/sys/dev/sound/usb/uaudioreg.h b/sys/dev/sound/usb/uaudioreg.h
index fd395ac8605e..13ebf06c9d6b 100644
--- a/sys/dev/sound/usb/uaudioreg.h
+++ b/sys/dev/sound/usb/uaudioreg.h
@@ -36,7 +36,7 @@
#ifndef _UAUDIOREG_H_
#define _UAUDIOREG_H_
-#define UAUDIO_VERSION 0x0100
+#define UAUDIO_VERSION_10 0x0100
#define UAUDIO_VERSION_20 0x0200
#define UAUDIO_VERSION_30 0x0300
diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_quirk.c
index 59dfd1316468..c8742fbd28b2 100644
--- a/sys/dev/usb/quirk/usb_quirk.c
+++ b/sys/dev/usb/quirk/usb_quirk.c
@@ -529,6 +529,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = {
USB_QUIRK(MAUDIO, FASTTRACKULTRA8R, 0x0000, 0xffff, UQ_AU_VENDOR_CLASS),
USB_QUIRK(CMEDIA, CM6206, 0x0000, 0xffff, UQ_AU_SET_SPDIF_CM6206),
USB_QUIRK(PLOYTEC, SPL_CRIMSON_1, 0x0000, 0xffff, UQ_CFG_INDEX_1),
+ USB_QUIRK(ROLAND, UA25EX_AD, 0x0000, 0xffff, UQ_AU_VENDOR_CLASS),
/*
* Quirks for manufacturers which USB devices does not respond
diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs
index d8efff2f6d5a..356266d49593 100644
--- a/sys/dev/usb/usbdevs
+++ b/sys/dev/usb/usbdevs
@@ -3998,6 +3998,8 @@ product ROLAND SD20 0x0027 SD-20 MIDI Synth
product ROLAND SD80 0x0029 SD-80 MIDI Synth
product ROLAND UA700 0x002b UA-700 Audio I/F
product ROLAND PCR300 0x0033 EDIROL PCR-300 MIDI I/F
+product ROLAND UA25EX_AD 0x00e6 EDIROL UA-25EX (Advanced Driver)
+product ROLAND UA25EX_CC 0x00e7 EDIROL UA-25EX (Class Compliant)
/* Rockfire products */
product ROCKFIRE GAMEPAD 0x2033 gamepad 203USB