Re: [PATCH 1/2] ALSA: usb-audio: Skip reading sample rate on M-Audio Venom
Takashi Iwai <[email protected]>
| Newsgroups | org.kernel.vger.linux-sound,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Sat, 22 Aug 2026 06:30:32 +0200, Federico ValentÃn Andrade wrote: > > The M-Audio Venom (0763:2084) is an USB Audio Class 1 compliant > synth with an integrated audio interface, it does not implement > GET_CUR on SAMPLING_FREQ_CONTROL, hanging up if requested on > endpoint 0. > > The first class request issued by the driver after enumeration is > a GET_CUR on endpoint 0x02, freezing the device's USB microcontroller. > Timing out on every transfer afterwards with -ETIMEDOUT, such as > SET_INTERFACE, so neither the mixer nor any streaming interface is set up. > > Analyzing a USBPcap capture of the Windows driver I found it never > requests the sampling frequency, as the synth exposes a single > discrete of 44100Hz on both streaming interfaces, thus asking for it > is unnecessary. > > So I applied get_sample_rate to avoid this check, and > disable_autosuspend because the synth doesn't come back from being > suspended. > > Signed-off-by: Federico ValentÃn Andrade <[email protected]> > --- > sound/usb/quirks.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c > index f4e1eac639..caa80487f4 100644 > --- a/sound/usb/quirks.c > +++ b/sound/usb/quirks.c > @@ -2334,6 +2334,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = { > QUIRK_FLAG_MIXER_GET_CUR_BROKEN | QUIRK_FLAG_GENERIC_IMPLICIT_FB), > DEVICE_FLG(0x0763, 0x2081, /* M-Audio Fast Track Ultra */ > QUIRK_FLAG_MIXER_GET_CUR_BROKEN | QUIRK_FLAG_GENERIC_IMPLICIT_FB), > + DEVICE_FLG(0x0763, 0x2084, /* M-Audio Venom */ > + QUIRK_FLAG_MIXER_GET_SAMPLE_RATE | QUIRK_FLAG_DISABLE_AUTOSUSPEND), > DEVICE_FLG(0x07fd, 0x000b, /* MOTU M Series 2nd hardware revision */ > QUIRK_FLAG_CTL_MSG_DELAY_1M), > DEVICE_FLG(0x08bb, 0x2702, /* LineX FM Transmitter */ This caused a build error. A typo of QUIRK_FLAG_GET_SAMPLE_RATE? thanks, Takashi