OSDN Git Service

ASoC: ak4458: check reset control status
authorViorel Suman <viorel.suman@nxp.com>
Mon, 19 Apr 2021 09:54:32 +0000 (17:54 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 19 Apr 2021 13:03:34 +0000 (14:03 +0100)
check the return value of ak4458_rstn_control.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://lore.kernel.org/r/1618826072-29344-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/ak4458.c

index 85a1d00..3088128 100644 (file)
@@ -334,7 +334,7 @@ static int ak4458_hw_params(struct snd_pcm_substream *substream,
        struct ak4458_priv *ak4458 = snd_soc_component_get_drvdata(component);
        int pcm_width = max(params_physical_width(params), ak4458->slot_width);
        u8 format, dsdsel0, dsdsel1;
-       int nfs1, dsd_bclk;
+       int nfs1, dsd_bclk, ret;
 
        nfs1 = params_rate(params);
        ak4458->fs = nfs1;
@@ -419,8 +419,13 @@ static int ak4458_hw_params(struct snd_pcm_substream *substream,
        snd_soc_component_update_bits(component, AK4458_00_CONTROL1,
                            AK4458_DIF_MASK, format);
 
-       ak4458_rstn_control(component, 0);
-       ak4458_rstn_control(component, 1);
+       ret = ak4458_rstn_control(component, 0);
+       if (ret)
+               return ret;
+
+       ret = ak4458_rstn_control(component, 1);
+       if (ret)
+               return ret;
 
        return 0;
 }
@@ -429,6 +434,7 @@ static int ak4458_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
 {
        struct snd_soc_component *component = dai->component;
        struct ak4458_priv *ak4458 = snd_soc_component_get_drvdata(component);
+       int ret;
 
        switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
        case SND_SOC_DAIFMT_CBS_CFS: /* Slave Mode */
@@ -461,8 +467,13 @@ static int ak4458_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
                                      ak4458->fmt == SND_SOC_DAIFMT_PDM ?
                                      AK4458_DP_MASK : 0);
 
-       ak4458_rstn_control(component, 0);
-       ak4458_rstn_control(component, 1);
+       ret = ak4458_rstn_control(component, 0);
+       if (ret)
+               return ret;
+
+       ret = ak4458_rstn_control(component, 1);
+       if (ret)
+               return ret;
 
        return 0;
 }