mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
To: phucduc.bui@gmail.com, Mark Brown <broonie@kernel.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
	Cezary Rojewski <cezary.rojewski@intel.com>,
	Cyril Chao <Cyril.Chao@mediatek.com>,
	Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
	Dan Carpenter <error27@gmail.com>,
	cassiogabrielcontato@gmail.com, linux-sound@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 07/13] ASoC: mediatek: mt8189: Propagate runtime resume errors
Date: Mon, 14 Sep 2026 15:26:55 +0200	[thread overview]
Message-ID: <693fea96-1905-49c9-b1c5-3fa1ceb4874a@collabora.com> (raw)
In-Reply-To: <20260914072842.24420-8-phucduc.bui@gmail.com>

On 9/14/26 09:28, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
> 
> mt8189_afe_runtime_resume() currently ignores errors from regmap
> operations and mt8189_afe_enable_main_clock().
> 
> Propagate these errors and clean up the state before returning the
> error.
> 
> Fixes: 7eb153585598 ("ASoC: mediatek: mt8189: add platform driver")
> Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
> ---
> 
> Changes in v2:
>   - Update the names of the goto labels.
> 
>   sound/soc/mediatek/mt8189/mt8189-afe-pcm.c | 36 +++++++++++++++++-----
>   1 file changed, 29 insertions(+), 7 deletions(-)
> 
> diff --git a/sound/soc/mediatek/mt8189/mt8189-afe-pcm.c b/sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
> index 77cf2b604f6c..67fa40afdefa 100644
> --- a/sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
> +++ b/sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
> @@ -2328,24 +2328,46 @@ static int mt8189_afe_runtime_resume(struct device *dev)
>   
>   	if (!afe->regmap) {
>   		dev_warn(afe->dev, "skip regmap\n");

In the probe function, there's a call to devm_regmap_init_mmio(), and that's being
correctly checked for error as in, if any, probe will fail.

So... during suspend or resume or anywhere else in this driver really, the regmap
pointer can't be NULL.
The right thing to do here would be to just remove the useless check.

Mind you, this comment applies to some other commits in this series as well.

Cheers,
Angelo

> -		return 0;
> +		ret = -EINVAL;
> +		goto err_disable_reg_rw_clk;
>   	}
>   
>   	regcache_cache_only(afe->regmap, false);
> -	regcache_sync(afe->regmap);
> +	ret = regcache_sync(afe->regmap);
> +	if (ret)
> +		goto err_set_cache_only;
>   
>   	/* set audio 26M request */
> -	regmap_update_bits(afe->regmap, AFE_SPM_CONTROL_REQ, 0x1, 0x1);
> -	regmap_update_bits(afe->regmap, AFE_CBIP_CFG0, 0x1, 0x1);
> +	ret = regmap_update_bits(afe->regmap, AFE_SPM_CONTROL_REQ, 0x1, 0x1);
> +	if (ret)
> +		goto err_set_cache_only;
> +
> +	ret = regmap_update_bits(afe->regmap, AFE_CBIP_CFG0, 0x1, 0x1);
> +	if (ret)
> +		goto err_clear_26m_req;
>   
>   	/* force cpu use 8_24 format when writing 32bit data */
> -	regmap_update_bits(afe->regmap, AFE_MEMIF_CON0,
> -			   CPU_HD_ALIGN_MASK_SFT, 0 << CPU_HD_ALIGN_SFT);
> +	ret = regmap_update_bits(afe->regmap, AFE_MEMIF_CON0,
> +				 CPU_HD_ALIGN_MASK_SFT, 0 << CPU_HD_ALIGN_SFT);
> +	if (ret)
> +		goto err_clear_26m_req;
>   
>   	/* enable AFE */
> -	mt8189_afe_enable_main_clock(afe);
> +	ret = mt8189_afe_enable_main_clock(afe);
> +	if (ret)
> +		goto err_clear_26m_req;
>   
>   	return 0;
> +
> +err_clear_26m_req:
> +	regmap_update_bits(afe->regmap,
> +			   AFE_SPM_CONTROL_REQ, 0x1, 0x0);
> +err_set_cache_only:
> +	regcache_cache_only(afe->regmap, true);
> +err_disable_reg_rw_clk:
> +	mt8189_afe_disable_reg_rw_clk(afe);
> +
> +	return ret;
>   }
>   
>   static int mt8189_afe_component_probe(struct snd_soc_component *component)


-- 
AngeloGioacchino Del Regno
Senior Software Engineer

Collabora Ltd.
Platinum Building, St John's Innovation Park, Cambridge CB4 0DS, UK
Registered in England & Wales, no. 5513718

  reply	other threads:[~2026-09-14 13:26 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-14  7:28 [PATCH v2 00/13] ASoC: mediatek: mt8189: Improve error handling phucduc.bui
2026-09-14  7:28 ` [PATCH v2 01/13] ASoC: mediatek: mt8189: Return error for missing regmap phucduc.bui
2026-09-14 13:26   ` AngeloGioacchino Del Regno
2026-09-14  7:28 ` [PATCH v2 02/13] ASoC: mediatek: mt8189: Propagate APLL enable errors phucduc.bui
2026-09-14 13:22   ` AngeloGioacchino Del Regno
2026-09-14 13:47     ` Mark Brown
2026-09-14 13:58       ` AngeloGioacchino Del Regno
2026-09-14 14:03         ` Mark Brown
2026-09-15  6:55           ` Bui Duc Phuc
2026-09-15  8:08             ` AngeloGioacchino Del Regno
2026-09-15 10:40               ` Bui Duc Phuc
2026-09-14  7:28 ` [PATCH v2 03/13] ASoC: mediatek: mt8189: Propagate MCK " phucduc.bui
2026-09-14  7:28 ` [PATCH v2 04/13] ASoC: mediatek: mt8189: Validate MCK ID phucduc.bui
2026-09-14 13:27   ` AngeloGioacchino Del Regno
2026-09-14  7:28 ` [PATCH v2 05/13] ASoC: mediatek: mt8189: Propagate reg_rw clock errors phucduc.bui
2026-09-14  7:28 ` [PATCH v2 06/13] ASoC: mediatek: mt8189: Use dev_err_probe() for " phucduc.bui
2026-09-14 13:26   ` AngeloGioacchino Del Regno
2026-09-14  7:28 ` [PATCH v2 07/13] ASoC: mediatek: mt8189: Propagate runtime resume errors phucduc.bui
2026-09-14 13:26   ` AngeloGioacchino Del Regno [this message]
2026-09-15  7:55     ` Bui Duc Phuc
2026-09-15  8:23       ` Bui Duc Phuc
2026-09-15  8:26         ` AngeloGioacchino Del Regno
2026-09-15 10:43           ` Bui Duc Phuc
2026-09-14  7:28 ` [PATCH v2 08/13] ASoC: mediatek: mt8189: Remove redundant error message phucduc.bui
2026-09-14 13:28   ` AngeloGioacchino Del Regno
2026-09-14  7:28 ` [PATCH v2 09/13] ASoC: mediatek: mt8189: Propagate APLL errors phucduc.bui
2026-09-14  7:28 ` [PATCH v2 10/13] ASoC: mediatek: mt8189: Propagate MCLK errors phucduc.bui
2026-09-14 13:28   ` AngeloGioacchino Del Regno
2026-09-14  7:28 ` [PATCH v2 11/13] ASoC: mediatek: mt8189: Validate sysclk frequency phucduc.bui
2026-09-14 13:28   ` AngeloGioacchino Del Regno
2026-09-14  7:28 ` [PATCH v2 12/13] ASoC: mediatek: mt8189: Propagate TDM clock errors phucduc.bui
2026-09-14  7:28 ` [PATCH v2 13/13] ASoC: mediatek: mt8189: Validate TDM MCLK frequency phucduc.bui
2026-09-14 13:29   ` AngeloGioacchino Del Regno

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=693fea96-1905-49c9-b1c5-3fa1ceb4874a@collabora.com \
    --to=angelogioacchino.delregno@collabora.com \
    --cc=Cyril.Chao@mediatek.com \
    --cc=broonie@kernel.org \
    --cc=cassiogabrielcontato@gmail.com \
    --cc=cezary.rojewski@intel.com \
    --cc=error27@gmail.com \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=perex@perex.cz \
    --cc=phucduc.bui@gmail.com \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®