lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <52681983-2fe2-45da-b0ee-1e9452ed469e@linux.intel.com>
Date: Tue, 13 May 2025 14:10:42 +0300
From: Péter Ujfalusi <peter.ujfalusi@...ux.intel.com>
To: "Sheetal ." <sheetal@...dia.com>, broonie@...nel.org,
 lgirdwood@...il.com, perex@...ex.cz, tiwai@...e.com,
 linux-sound@...r.kernel.org
Cc: linux-tegra@...r.kernel.org, linux-kernel@...r.kernel.org,
 jonathanh@...dia.com, thierry.reding@...il.com, mkumard@...dia.com,
 spujar@...dia.com
Subject: Re: [RFC PATCH v2] ASoC: soc-pcm: Optimize hw_params() BE DAI call



On 08/04/2025 11:30, Sheetal . wrote:
> From: Sheetal <sheetal@...dia.com>
> 
> The hw_params() function for BE DAI was being called multiple times due
> to an unnecessary SND_SOC_DPCM_STATE_HW_PARAMS state check.
> 
> Remove the redundant state check to ensure hw_params() is called only once
> per BE DAI configuration.

The first sentence tells that the hw_params() of the BE is called
multiple times.

The second sentence states that the check is redundant then tells that
it is removed to not call the hw_params() of the BE, so the check was
not redundant, it got exercised.

Which one is true?

Under what circumstance the __soc_pcm_hw_params() got called multiple
times? Was it normal or was it error? What causes it?

> Signed-off-by: Sheetal <sheetal@...dia.com>
> ---
> Changes in v2:
> - Update commit message as its not a fix.
> - Marked as RFC patch as it requires feedback from other users
>   perspective as well.
> - The patch is being sent separately as other patch is not RFC.
> 
>  sound/soc/soc-pcm.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
> index d7f6d3a6d312..c73be27c4ecb 100644
> --- a/sound/soc/soc-pcm.c
> +++ b/sound/soc/soc-pcm.c
> @@ -2123,7 +2123,6 @@ int dpcm_be_dai_hw_params(struct snd_soc_pcm_runtime *fe, int stream)
>  			continue;
>  
>  		if ((be->dpcm[stream].state != SND_SOC_DPCM_STATE_OPEN) &&
> -		    (be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_PARAMS) &&
>  		    (be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_FREE))
>  			continue;
>  

-- 
Péter


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ