[alsa-devel] [PATCH] ALSA: usb-audio: Recurse before saving terminal properties

Daniel Mack daniel at zonque.org
Tue Aug 18 10:09:35 CEST 2015


On 08/17/2015 10:35 AM, Julian Scheel wrote:
> On 16.08.2015 13:45, Daniel Mack wrote:

>> Hmm, good point. It' been a while since I worked on this, but looking at
>> the code right now, you're right, the mixer unit for input terminal is
>> indeed just overridden by the information of the clock selector on UAC2.
>> That doesn't seem right.
>>
>> I guess what we really want is to add a 2nd mixer control in such cases,
>> and that would mean we need to call into parse_audio_selector_unit()
>> instead.
> 
> I just had another look at this. In fact all mixer controls are properly 
> created with the current code. This happens in the loop over all 
> descriptors in snd_usb_mixer_controls. parse_audio_unit is called for 
> each of them. For clock selectors and selector units it calls 
> parse_audio_selector_unit where the actual clock selector/selector units 
> are parsed and mixer ctls are created.
> So I'd renew my first comment about the recursion. It is only needed to 
> verify the integrity of descriptors and hence shall not overwrite any 
> values.

Yes, you're right. So your first patch on this is actually correct, but
given it caused confusion, I guess it deserves a comment in both the
code and the commit log :)

Care to resend with those comments added?



Thanks,
Daniel



More information about the Alsa-devel mailing list