From: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
soc_dpcm_debugfs_add(rtd) is checking rtd->dai_link pointer, but, rtd->dai_link->dynamic have been already checked before calling it.
static int soc_probe_link_dais(...) { dai_link = rtd->dai_link; ... => if (dai_link->dynamic) => soc_dpcm_debugfs_add(rtd); ... }
void soc_dpcm_debugfs_add(rtd) { => if (!rtd->dai_link) return; ... }
These pointer checks are strange/pointless. This patch checks dai_link->dynamic under soc_dpcm_debugfs_add().
Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com --- v1 -> v2
- no change
sound/soc/soc-core.c | 3 +-- sound/soc/soc-pcm.c | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index d95259c..665223f 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1487,8 +1487,7 @@ static int soc_probe_link_dais(struct snd_soc_card *card, return ret;
/* add DPCM sysfs entries */ - if (dai_link->dynamic) - soc_dpcm_debugfs_add(rtd); + soc_dpcm_debugfs_add(rtd);
num = rtd->num;
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c index 77c986f..da657c8 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c @@ -3200,6 +3200,9 @@ void soc_dpcm_debugfs_add(struct snd_soc_pcm_runtime *rtd) if (!rtd->dai_link) return;
+ if (!rtd->dai_link->dynamic) + return; + if (!rtd->card->debugfs_card_root) return;