[alsa-devel] [PATCH 1/2] snd-usb-audio: Skip un-parseable mixer units instead of erroring
Takashi Iwai
tiwai at suse.de
Sun Apr 15 15:41:47 CEST 2012
At Sat, 14 Apr 2012 21:38:42 +0100 (BST),
Mark Hills wrote:
>
> On Sat, 14 Apr 2012, Takashi Iwai wrote:
>
> > At Sat, 14 Apr 2012 17:19:23 +0100,
> > Mark Hills wrote:
> > >
> > > Some interfaces reference endpoints which do not exists. To
> > > accomodate these, do not fail completely, but skip over them.
> > >
> > > This allows the Electrix Ebox-44 with earlier firmware to be
> > > detected and used for audio.
> >
> > Does the driver warn something? Ignoring silently doesn't sound
> > right...
>
> Yes, parse_audio_unit already reports the error. Though I didn't do an
> exhaustive check for all cases.
>
> The suggestion to do this came from Clemens (see thread "usb-audio:
> Correct way to do a mixer quirk?"). Originally I was hoping to just quirk
> this for the specific device, but the rest of the driver does also seem to
> be fairly tolerant of errors if it means more devices can be used.
OK, I merged your patches now to sound git tree topic/misc branch.
Thanks!
Takashi
>
> >
> > Takashi
> >
> > >
> > > Signed-off-by: Mark Hills <mark at pogo.org.uk>
> > > ---
> > > sound/usb/mixer.c | 2 +-
> > > 1 files changed, 1 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
> > > index ab23869..c374c72 100644
> > > --- a/sound/usb/mixer.c
> > > +++ b/sound/usb/mixer.c
> > > @@ -1388,7 +1388,7 @@ static int parse_audio_mixer_unit(struct mixer_build *state, int unitid, void *r
> > > for (pin = 0; pin < input_pins; pin++) {
> > > err = parse_audio_unit(state, desc->baSourceID[pin]);
> > > if (err < 0)
> > > - return err;
> > > + continue;
> > > err = check_input_term(state, desc->baSourceID[pin], &iterm);
> > > if (err < 0)
> > > return err;
> > > --
> > > 1.7.4.4
> > >
> >
>
> --
> Mark
>
More information about the Alsa-devel
mailing list