[alsa-devel] [PATCH] alsa-lib/tlv: fix handling of raw value ranges

Takashi Iwai tiwai at suse.de
Fri Mar 30 17:45:17 CEST 2012


At Fri, 30 Mar 2012 17:20:21 +0200 (CEST),
Benoît Thébaudeau wrote:
> 
> Benoît Thébaudeau wrote:
> > Clemens Ladisch wrote:
> > > I'll see if I can cobble together some TLV checking code ...
> > 
> > Great.
> 
> In all the hardware examples that I've found, the worst case for holes is
> always, like for the BD37534:
> mute
> hole
> valid dB range
> hole
> 
> So it's perhaps not worth developing something very complicated in the kernel
> to handle all possible cases of TLV range holes.

Well, it's not only about the TLV dB information.  The user-space has
no idea where holes exist, and we have no way to expose this
information, so far.  That is, you can access to some random raw
values and now you'll get always errors.  This is obviously a bug of
the driver.

So, please don't take it as an example to _fix_ the alsa-lib code.
Making it working for such a buggy driver isn't called as a fix.
It's called as a workaround.  And, a workaround is usually ugly.

However, beyond that, there is a good advantage in your change; it
can make the code more robust.  We should concentrate on that point.


Takashi


More information about the Alsa-devel mailing list