From: sashiko-bot@kernel.org
To: "John Madieu" <john.madieu.xa@bp.renesas.com>
Cc: conor+dt@kernel.org, devicetree@vger.kernel.org,
wsa+renesas@sang-engineering.com, robh@kernel.org
Subject: Re: [PATCH v7 12/18] ASoC: rsnd: Add ADG reset support for RZ/G3E
Date: Mon, 25 May 2026 11:49:46 +0000 [thread overview]
Message-ID: <20260525114947.09B0E1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260525110230.4014435-13-john.madieu.xa@bp.renesas.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The ADG module reset is deasserted before its module clock is requested or enabled, violating hardware sequencing rules.
- [Medium] The newly introduced ADG reset control is never asserted on driver unbind or probe error paths, leaking the hardware state.
--
commit d6340a23ee109a2c61a0071ea77ab96a55373b74
Author: John Madieu <john.madieu.xa@bp.renesas.com>
ASoC: rsnd: Add ADG reset support for RZ/G3E
This commit adds support for an optional ADG reset line for the RZ/G3E SoC.
It fetches the reset control in rsnd_adg_probe() and passes it to
rsnd_mod_init() during initialization.
> diff --git a/sound/soc/renesas/rcar/adg.c b/sound/soc/renesas/rcar/adg.c
> index 0105c60a144e0..813ad5eabba61 100644
> --- a/sound/soc/renesas/rcar/adg.c
> +++ b/sound/soc/renesas/rcar/adg.c
[ ... ]
> @@ -779,8 +780,11 @@ int rsnd_adg_probe(struct rsnd_priv *priv)
> if (!adg)
> return -ENOMEM;
>
> - ret = rsnd_mod_init(priv, &adg->mod, &adg_ops,
> - NULL, NULL, 0, 0);
> + rstc = devm_reset_control_get_optional_exclusive(dev, "adg");
> + if (IS_ERR(rstc))
> + return dev_err_probe(dev, PTR_ERR(rstc), "failed to get adg reset\n");
> +
> + ret = rsnd_mod_init(priv, &adg->mod, &adg_ops, NULL, rstc, 0, 0);
[Severity: High]
Does this sequence deassert the ADG module reset before its module clock is
enabled?
When rsnd_mod_init() is called here, the clk argument is passed as NULL.
Inside rsnd_mod_init(), clk_prepare_enable() does nothing for a NULL clock,
and then reset_control_deassert() is executed immediately.
Since the ADG clock is not fetched until the subsequent call to
rsnd_adg_get_clkin() and is only enabled later in rsnd_adg_clk_enable(),
this appears to deassert a synchronous hardware reset without an active
module clock. Can this invalid sequence fail to propagate the reset state
properly or lead to bus lockups?
> if (ret)
> return ret;
>
[Severity: Medium]
Are there missing error handling and teardown paths for this new reset?
If rsnd_adg_probe() fails after rsnd_mod_init() completes successfully
(for example, if rsnd_adg_get_clkin() returns an error), the function
returns directly. It appears there is no call to rsnd_mod_quit() to unwind
the state and assert the reset line on this error path.
While the devm framework will free the reset control reference on probe
failure, it does not automatically assert the line, leaving the hardware
permanently out of reset. Is an update to rsnd_adg_remove() also needed to
ensure the reset is properly asserted during driver unbind?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260525110230.4014435-1-john.madieu.xa@bp.renesas.com?part=12
next prev parent reply other threads:[~2026-05-25 11:49 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-25 11:02 [PATCH v7 00/18] ASoC: rsnd: Add RZ/G3E audio driver support John Madieu
2026-05-25 11:02 ` [PATCH v7 01/18] ASoC: dt-bindings: sound: Add DT binding for RZ/G3E sound John Madieu
2026-05-25 11:23 ` sashiko-bot
2026-05-25 11:02 ` [PATCH v7 02/18] ASoC: rsnd: Fix RSND_SOC_MASK width to single nibble John Madieu
2026-05-25 11:02 ` [PATCH v7 03/18] ASoC: rsnd: Add reset controller support to rsnd_mod John Madieu
2026-05-25 11:02 ` [PATCH v7 04/18] ASoC: rsnd: Support hyphen or dot in indexed clock and reset names John Madieu
2026-05-25 11:02 ` [PATCH v7 05/18] ASoC: rsnd: Add RZ/G3E SoC probing and register map John Madieu
2026-05-25 12:23 ` sashiko-bot
2026-05-25 11:02 ` [PATCH v7 06/18] ASoC: rsnd: Add audmapp clock and reset support for RZ/G3E John Madieu
2026-05-25 11:02 ` [PATCH v7 07/18] ASoC: rsnd: Refactor DMA address tables with named structs John Madieu
2026-05-25 11:23 ` sashiko-bot
2026-05-25 11:02 ` [PATCH v7 08/18] ASoC: rsnd: Add RZ/G3E DMA address calculation support John Madieu
2026-05-25 11:29 ` sashiko-bot
2026-05-25 11:02 ` [PATCH v7 09/18] ASoC: rsnd: ssiu: Add shared SSI reset controller support John Madieu
2026-05-25 11:41 ` sashiko-bot
2026-05-25 11:02 ` [PATCH v7 10/18] ASoC: rsnd: ssiu: Add RZ/G3E BUSIF support John Madieu
2026-05-25 11:47 ` sashiko-bot
2026-05-25 11:02 ` [PATCH v7 11/18] ASoC: rsnd: Add SSI reset support for RZ/G3E platform John Madieu
2026-05-25 11:48 ` sashiko-bot
2026-05-25 11:02 ` [PATCH v7 12/18] ASoC: rsnd: Add ADG reset support for RZ/G3E John Madieu
2026-05-25 11:49 ` sashiko-bot [this message]
2026-05-25 11:02 ` [PATCH v7 13/18] ASoC: rsnd: adg: Add per-SSI ADG and SSIF supply clock management John Madieu
2026-05-25 12:14 ` sashiko-bot
2026-05-25 11:02 ` [PATCH v7 14/18] ASoC: rsnd: adg: Look up RZ/G3E clkin under audio-clk{a,b,c,i} John Madieu
2026-05-25 11:53 ` sashiko-bot
2026-05-25 11:02 ` [PATCH v7 15/18] ASoC: rsnd: src: Acquire shared SCU clocks for RZ/G3E John Madieu
2026-05-25 11:02 ` [PATCH v7 16/18] ASoC: rsnd: src: Add SRC reset support " John Madieu
2026-05-25 11:02 ` [PATCH v7 17/18] ASoC: rsnd: Support unprefixed DT node names " John Madieu
2026-05-25 11:02 ` [PATCH v7 18/18] ASoC: rsnd: Add system suspend/resume support John Madieu
2026-05-25 12:23 ` sashiko-bot
2026-05-25 22:45 ` [PATCH v7 00/18] ASoC: rsnd: Add RZ/G3E audio driver support Kuninori Morimoto
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=20260525114947.09B0E1F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=john.madieu.xa@bp.renesas.com \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=wsa+renesas@sang-engineering.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