FreeBSD Bugzilla – Attachment 200961 Details for
Bug 234794
snd_uaudio: Quirks for Edirol UA-25EX in advanced driver mode
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Add vendor class quirk and ignore missing Audio Control header.
uaudio.patch (text/plain), 3.03 KB, created by
Florian Walpen
on 2019-01-09 17:52:31 UTC
(
hide
)
Description:
Add vendor class quirk and ignore missing Audio Control header.
Filename:
MIME Type:
Creator:
Florian Walpen
Created:
2019-01-09 17:52:31 UTC
Size:
3.03 KB
patch
obsolete
>diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c >index 2bf6f286733..c96e0a083cb 100644 >--- a/sys/dev/sound/usb/uaudio.c >+++ b/sys/dev/sound/usb/uaudio.c >@@ -382,6 +382,7 @@ struct uaudio_softc { > uint8_t sc_uq_au_no_xu:1; > uint8_t sc_uq_bad_adc:1; > uint8_t sc_uq_au_vendor_class:1; >+ uint8_t sc_uq_au_no_ac_header:1; > uint8_t sc_pcm_bitperfect:1; > }; > >@@ -969,6 +970,12 @@ uaudio_attach(device_t dev) > if (usb_test_quirk(uaa, UQ_AU_VENDOR_CLASS)) > sc->sc_uq_au_vendor_class = 1; > >+ if (uaa->info.idVendor == USB_VENDOR_ROLAND && >+ uaa->info.idProduct == USB_PRODUCT_ROLAND_UA25EX_AD) { >+ sc->sc_uq_au_no_ac_header = 1; >+ sc->sc_audio_rev = UAUDIO_VERSION; >+ } >+ > /* set S/PDIF function */ > if (usb_test_quirk(uaa, UQ_AU_SET_SPDIF_CM6206)) > sc->sc_set_spdif_fn = uaudio_set_spdif_cm6206; >@@ -1745,7 +1752,10 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usb_device *udev, > continue; > } > >- if ((acdp != NULL) && >+ if (sc->sc_uq_au_no_ac_header) >+ audio_rev = sc->sc_audio_rev; >+ >+ if ((acdp != NULL || sc->sc_uq_au_no_ac_header != 0) && > (desc->bDescriptorType == UDESC_CS_INTERFACE) && > (desc->bDescriptorSubtype == AS_GENERAL) && > (asid.v1 == NULL)) { >@@ -1761,7 +1771,7 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usb_device *udev, > } > } > } >- if ((acdp != NULL) && >+ if ((acdp != NULL || sc->sc_uq_au_no_ac_header != 0) && > (desc->bDescriptorType == UDESC_CS_INTERFACE) && > (desc->bDescriptorSubtype == FORMAT_TYPE) && > (asf1d.v1 == NULL)) { >@@ -1800,7 +1810,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_no_ac_header != 0) && > (desc->bDescriptorType == UDESC_CS_ENDPOINT) && > (desc->bDescriptorSubtype == AS_GENERAL) && > (sed.v1 == NULL)) { >diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_quirk.c >index 256b2f96300..2dea8c2cda1 100644 >--- a/sys/dev/usb/quirk/usb_quirk.c >+++ b/sys/dev/usb/quirk/usb_quirk.c >@@ -527,6 +527,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 d8efff2f6d5..356266d4959 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
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 234794
: 200961