[PATCH 0/3] snd-usb-6fire: firmware load and pulseaudio assumption

René Herman rene.herman at gmail.com
Tue Jul 21 12:07:26 CEST 2020


On 21-07-2020 10:37, Takashi Iwai wrote:

> Submit a complete set freshly as a v2 patch set.
> 
>   [PATCH v2 1/3] ...

Done, although now only the first two are left since you were of course
quite right about the third.

> The first return for kmalloc error should remain so, but the rest can
> be replaced with goto out.  That I meant.

I know, but that's exactly what it already did :) I guess it looks a bit
non-generic as a patch due to me also unifying the error path due to
that same change in structure. But any case, v2 is the same as v1
therefore, minus the fixed paths of course.

>> Re: [PATCH 3/3] snd-usb-6fire: Unmark struct snd_pcm_hardware const
>>
>>> This must be superfluous.  usb6fire_pcm_open() changes the field of 
>>> the copied pcm_hw, not the original pcm_hw itself.  Otherwise we
>>> must have got already a compile warning / error.
>>
>> Unfortunately no; it's as mentioned in the cover letter accessed via
>> pointer: usb6fire_pcm_open() sets "alsa_rt->hw = pcm_hw" and then
>> changes pcm_hw as e.g. "alsa_rt->hw.channels_max = OUT_N_CHANNELS;".
>> I.e., not a copy.
> 
> Note that it copies the whole instance, not the pointer.  So the
> current code is correct.

Yap. I blindly assumed that snd_pcm_runtime.hw would be a pointer and
synchronized that with the code without even really thinking about it by
convincing myself that, as in the case of an array, that "pcm_hw" name
would deteriorate to a pointer automatically. As such now keenly aware
that my grasp of C semantics has also taken a bit of a nosedive over the
last 10 years or so, I'll be more careful. Patch dropped.

Thanks.

Rene.


More information about the Alsa-devel mailing list