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: <874j5js7cb.wl-kuninori.morimoto.gx@renesas.com>
Date: Fri, 11 Oct 2024 02:26:28 +0000
From: Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>
To: Prabhakar <prabhakar.csengg@...il.com>
Cc: Geert Uytterhoeven <geert+renesas@...der.be>,
	Liam Girdwood <lgirdwood@...il.com>,
	Mark Brown <broonie@...nel.org>,
	Jaroslav Kysela <perex@...ex.cz>,
	Takashi Iwai <tiwai@...e.com>,
	linux-sound@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	linux-renesas-soc@...r.kernel.org,
	Biju Das <biju.das.jz@...renesas.com>,
	Fabrizio Castro <fabrizio.castro.jz@...esas.com>,
	Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
Subject: Re: [PATCH] ASoC: rsnd: Fix probe failure on HiHope boards due to endpoint parsing


Hi

> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
> 
> On the HiHope boards, we have a single port with a single endpoint defined
> as below:
> ....
>         rsnd_port: port {
>                 rsnd_endpoint: endpoint {
>                         remote-endpoint = <&dw_hdmi0_snd_in>;
> 
>                         dai-format = "i2s";
>                         bitclock-master = <&rsnd_endpoint>;
>                         frame-master = <&rsnd_endpoint>;
> 
>                         playback = <&ssi2>;
>                 };
>         };
> ....
> 
> With commit 547b02f74e4a ("ASoC: rsnd: enable multi Component support for
> Audio Graph Card/Card2"), support for multiple ports was added. This caused
> probe failures on HiHope boards, as the endpoint could not be retrieved due
> to incorrect device node pointers being used.
> 
> This patch fixes the issue by updating the `rsnd_dai_of_node()` and
> `rsnd_dai_probe()` functions to use the correct device node pointers based
> on the port names ('port' or 'ports'). It ensures that the endpoint is
> properly parsed for both single and multi-port configurations, restoring
> compatibility with HiHope boards.
> 
> Fixes: 547b02f74e4a ("ASoC: rsnd: enable multi Component support for Audio Graph Card/Card2")
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
> ---
> Hi Geert,
> I was intending to rename the sh folder to renesas, do you think that should be OK?
> Cheers, Prabhakar
> ---
>  sound/soc/sh/rcar/core.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
> index 9784718a2b6f..eca5ce096e54 100644
> --- a/sound/soc/sh/rcar/core.c
> +++ b/sound/soc/sh/rcar/core.c
> @@ -1281,7 +1281,9 @@ static int rsnd_dai_of_node(struct rsnd_priv *priv, int *is_graph)
>  		if (!of_node_name_eq(ports, "ports") &&
>  		    !of_node_name_eq(ports, "port"))
>  			continue;
> -		priv->component_dais[i] = of_graph_get_endpoint_count(ports);
> +		priv->component_dais[i] =
> +			of_graph_get_endpoint_count(of_node_name_eq(ports, "ports") ?
> +						    ports : np);
>  		nr += priv->component_dais[i];
>  		i++;
>  		if (i >= RSND_MAX_COMPONENT) {
> @@ -1493,7 +1495,8 @@ static int rsnd_dai_probe(struct rsnd_priv *priv)
>  			if (!of_node_name_eq(ports, "ports") &&
>  			    !of_node_name_eq(ports, "port"))
>  				continue;
> -			for_each_endpoint_of_node(ports, dai_np) {
> +			for_each_endpoint_of_node(of_node_name_eq(ports, "ports") ?
> +						  ports : np, dai_np) {
>  				__rsnd_dai_probe(priv, dai_np, dai_np, 0, dai_i);
>  				if (!rsnd_is_gen1(priv) && !rsnd_is_gen2(priv)) {
>  					rdai = rsnd_rdai_get(priv, dai_i);

Ah, I had a plan to clean-up around here, but Of-Graph rejected the idea.
Indeed it will be issue if DT doesn't have "ports".
I would like to re-cleanup around here in the future.
But anyway, for this patch

Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>


Thank you for your help !!

Best regards
---
Kuninori Morimoto

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ