[alsa-devel] usb-audio: Correct way to do a mixer quirk?

Mark Hills mark at pogo.org.uk
Mon Feb 20 20:55:13 CET 2012


On Mon, 20 Feb 2012, Clemens Ladisch wrote:

> Mark Hills wrote:
> > The Electrix Ebox-44 is a new USB interface, but the MIXER_UNIT descriptor
> > is broken and refers to a non-existing unit_id.
> >
> > I worked around it with the patch below to remove the additional entry,
> > and the device seems to work as expected.
> >
> > But inserting code here is probably not desirable -- I imagine I need to
> > turn this into a quirk of some sort. Am I correct?
> >
> > And what is the best way to do this?
> >
> > * It doesn't appear I can use quirks-table.h to adjust the content
> >   of a mixer unit (the bNrInPins attribute)
> >
> > * It seems that to use mixer_quirks.c would require a function to
> >   create the whole mixer
> >
> > It's possible I'm incorrect on the above, though. Can anyone advise on how
> > to make this fix in the correct way?
> 
> I'd suggest to change the code to not abort if a unit doesn't exist.

It would seem a little strange to skip over the error for one specific 
condition to accomodate a specific device -- when the rest of the code 
does not generally do this?

I'd be interested in Daniel's take on this too.

If I get time I'll take a closer look at the code and see about making a 
patch.

Thanks

-- 
Mark


More information about the Alsa-devel mailing list