[alsa-devel] [PATCH 1/2] ASoC: adau17x1: Handling of DSP_RUN register during fw setup

Robert Rosengren robert.rosengren at axis.com
Wed Apr 11 07:16:23 CEST 2018


On 04/05/2018 05:44 PM, Lars-Peter Clausen wrote:
> On 04/03/2018 10:05 AM, Robert Rosengren wrote:
>> From: Danny Smith <dannys at axis.com>
>>
>> DSP_RUN needs to be disabled during firmware write otherwise
>> we can end up with undefined behavior if writing to a dsp which
>> is already running firmware.
>>
> 
> Good point, thanks.
> 
> I believe there is a possible (but rare under normal circumstances) race
> condition here though, where DAPM could run at the same time and
> enable/disable the DSP while the firmware is being loaded.
> 
> To avoid this the firmware load sequence should be encapsulated in
> snd_soc_dapm_mutex_lock()/snd_soc_dapm_mutex_unlock().
> 
> Pass struct snd_soc_component instead of struct adau to this function and
> then use snd_soc_component_get_dapm() to get the DAPM context.
> 
> For the next version of the patches please also add the ASoC maintainers to
> the reciver list since they have to apply the patch. The maintainers are:
> 
> Liam Girdwood <lgirdwood at gmail.com>
> Mark Brown <broonie at kernel.org>
> 

Thanks for your comments! New patches are already sent for your review :)

/ Robert

> 
>> Signed-off-by: Danny Smith <dannys at axis.com>
>> ---
>>  sound/soc/codecs/adau17x1.c | 8 +++++++-
>>  1 file changed, 7 insertions(+), 1 deletion(-)


More information about the Alsa-devel mailing list