diff mbox series

ASoC: cs35l45:Increase the error checking returned by the function.

Message ID 20241113085756.2636-1-liujing@cmss.chinamobile.com (mailing list archive)
State New
Headers show
Series ASoC: cs35l45:Increase the error checking returned by the function. | expand

Commit Message

liujing Nov. 13, 2024, 8:57 a.m. UTC
In cs35l45_dsp_init(), it is necessary to check
the return value of the wm_halo_init function.

Signed-off-by: liujing <liujing@cmss.chinamobile.com>

Comments

Charles Keepax Nov. 13, 2024, 1:10 p.m. UTC | #1
On Wed, Nov 13, 2024 at 04:57:56PM +0800, liujing wrote:
> In cs35l45_dsp_init(), it is necessary to check
> the return value of the wm_halo_init function.
> 
> Signed-off-by: liujing <liujing@cmss.chinamobile.com>
> 
> diff --git a/sound/soc/codecs/cs35l45.c b/sound/soc/codecs/cs35l45.c
> index fa1d9d9151f9..c045c7c05947 100644
> --- a/sound/soc/codecs/cs35l45.c
> +++ b/sound/soc/codecs/cs35l45.c
> @@ -1365,7 +1365,10 @@ static int cs35l45_dsp_init(struct cs35l45_private *cs35l45)
>  	dsp->cs_dsp.lock_regions = 0xFFFFFFFF;
>  
>  	ret = wm_halo_init(dsp);
> -
> +	if (ret) {
> +		dev_err(cs35l45->dev, "wm_halo_init failed: %d\n", ret);
> +		return ret;
> +	}

Blank line should go here.

>  	regmap_multi_reg_write(cs35l45->regmap, cs35l45_fs_errata_patch,
>  						   ARRAY_SIZE(cs35l45_fs_errata_patch));
>  

The function is kinda weird, but the error check isn't per say
missing, in that there is a "return ret;" below the
regmap_multi_reg_write. If we are updating this it would make
sense to change that return into a "return 0;". But I would be
slightly nervous that the intention was to apply this errata
patch even on the error path, no clues in the commit messages.
David/Vlad you guys know what the intention was here?

Thanks,
Charles
diff mbox series

Patch

diff --git a/sound/soc/codecs/cs35l45.c b/sound/soc/codecs/cs35l45.c
index fa1d9d9151f9..c045c7c05947 100644
--- a/sound/soc/codecs/cs35l45.c
+++ b/sound/soc/codecs/cs35l45.c
@@ -1365,7 +1365,10 @@  static int cs35l45_dsp_init(struct cs35l45_private *cs35l45)
 	dsp->cs_dsp.lock_regions = 0xFFFFFFFF;
 
 	ret = wm_halo_init(dsp);
-
+	if (ret) {
+		dev_err(cs35l45->dev, "wm_halo_init failed: %d\n", ret);
+		return ret;
+	}
 	regmap_multi_reg_write(cs35l45->regmap, cs35l45_fs_errata_patch,
 						   ARRAY_SIZE(cs35l45_fs_errata_patch));