On 16/04/2021 08:11, Thierry Reding wrote: > From: Thierry Reding <treding@xxxxxxxxxx> > > On Tegra186 and later, the number of links can go up to 72, so bump the > maximum number of links to the next power of two (128). > > Fixes: f2138aed231c ("ASoC: simple-card-utils: enable flexible CPU/Codec/Platform") > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> > --- > include/sound/simple_card_utils.h | 4 +++- > sound/soc/generic/audio-graph-card.c | 4 ++-- > sound/soc/generic/simple-card.c | 4 ++-- > 3 files changed, 7 insertions(+), 5 deletions(-) > > diff --git a/include/sound/simple_card_utils.h b/include/sound/simple_card_utils.h > index fac3b832d982..e318a2d4ac44 100644 > --- a/include/sound/simple_card_utils.h > +++ b/include/sound/simple_card_utils.h > @@ -115,10 +115,12 @@ struct asoc_simple_priv { > ((codec) = simple_props_to_dai_codec(props, i)); \ > (i)++) > > +#define SNDRV_MAX_LINKS 128 > + > struct link_info { > int link; /* number of link */ > int cpu; /* turn for CPU / Codec */ > - struct prop_nums num[SNDRV_MINOR_DEVICES]; > + struct prop_nums num[SNDRV_MAX_LINKS]; > }; > > int asoc_simple_parse_daifmt(struct device *dev, > diff --git a/sound/soc/generic/audio-graph-card.c b/sound/soc/generic/audio-graph-card.c > index 2401212281c2..d6d90285967c 100644 > --- a/sound/soc/generic/audio-graph-card.c > +++ b/sound/soc/generic/audio-graph-card.c > @@ -616,7 +616,7 @@ static int graph_count_noml(struct asoc_simple_priv *priv, > { > struct device *dev = simple_priv_to_dev(priv); > > - if (li->link >= SNDRV_MINOR_DEVICES) { > + if (li->link >= SNDRV_MAX_LINKS) { > dev_err(dev, "too many links\n"); > return -EINVAL; > } > @@ -639,7 +639,7 @@ static int graph_count_dpcm(struct asoc_simple_priv *priv, > { > struct device *dev = simple_priv_to_dev(priv); > > - if (li->link >= SNDRV_MINOR_DEVICES) { > + if (li->link >= SNDRV_MAX_LINKS) { > dev_err(dev, "too many links\n"); > return -EINVAL; > } > diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c > index 1d1c4309b582..59b41019c65f 100644 > --- a/sound/soc/generic/simple-card.c > +++ b/sound/soc/generic/simple-card.c > @@ -484,7 +484,7 @@ static int simple_count_noml(struct asoc_simple_priv *priv, > struct device_node *codec, > struct link_info *li, bool is_top) > { > - if (li->link >= SNDRV_MINOR_DEVICES) { > + if (li->link >= SNDRV_MAX_LINKS) { > struct device *dev = simple_priv_to_dev(priv); > > dev_err(dev, "too many links\n"); > @@ -505,7 +505,7 @@ static int simple_count_dpcm(struct asoc_simple_priv *priv, > struct device_node *codec, > struct link_info *li, bool is_top) > { > - if (li->link >= SNDRV_MINOR_DEVICES) { > + if (li->link >= SNDRV_MAX_LINKS) { > struct device *dev = simple_priv_to_dev(priv); > > dev_err(dev, "too many links\n"); > Reviewed-by: Jon Hunter <jonathanh@xxxxxxxxxx> Tested-by: Jon Hunter <jonathanh@xxxxxxxxxx> Thanks! Jon -- nvpublic