Re: [PATCH] ASoC: audio-graph-card2: Purge absent supplies for device tree nodes

From: Mark Brown
Date: Fri Nov 08 2024 - 08:00:22 EST


On Fri, Nov 08, 2024 at 12:37:15PM +1100, John Watts wrote:
> The audio graph card doesn't mark its subnodes such as multi {}, dpcm {}
> and c2c {} as not requiring any suppliers. This causes a hang as Linux
> waits for these phantom suppliers to show up on boot.
> Make it clear these nodes have no suppliers.

Copying in Morimoto-san.

>
> Example error message:
> [ 15.208558] platform 2034000.i2s: deferred probe pending: platform: wait for supplier /sound/multi
> [ 15.208584] platform sound: deferred probe pending: asoc-audio-graph-card2: parse error
>
> Signed-off-by: John Watts <contact@xxxxxxxxxx>
> ---
> sound/soc/generic/audio-graph-card2.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/sound/soc/generic/audio-graph-card2.c b/sound/soc/generic/audio-graph-card2.c
> index 56f7f946882e831cc4474c86b31f69e15de1549a..68f1da6931af2161dc8815b8c04d10cd614cc182 100644
> --- a/sound/soc/generic/audio-graph-card2.c
> +++ b/sound/soc/generic/audio-graph-card2.c
> @@ -270,16 +270,19 @@ static enum graph_type __graph_get_type(struct device_node *lnk)
>
> if (of_node_name_eq(np, GRAPH_NODENAME_MULTI)) {
> ret = GRAPH_MULTI;
> + fw_devlink_purge_absent_suppliers(&np->fwnode);
> goto out_put;
> }
>
> if (of_node_name_eq(np, GRAPH_NODENAME_DPCM)) {
> ret = GRAPH_DPCM;
> + fw_devlink_purge_absent_suppliers(&np->fwnode);
> goto out_put;
> }
>
> if (of_node_name_eq(np, GRAPH_NODENAME_C2C)) {
> ret = GRAPH_C2C;
> + fw_devlink_purge_absent_suppliers(&np->fwnode);
> goto out_put;
> }
>
>
> ---
> base-commit: 98f7e32f20d28ec452afb208f9cffc08448a2652
> change-id: 20241108-graph_dt_fix-d1f0db88a696
>
> Best regards,
> --
> John Watts <contact@xxxxxxxxxx>
>

Attachment: signature.asc
Description: PGP signature