Unverified Commit 0632fa04 authored by Hans de Goede's avatar Hans de Goede Committed by Mark Brown
Browse files

ASoC: core: Fix pcm code debugfs error



We can have 2 dcpm-s with the same backend and frontend name
(capture + playback pair), this causes the following debugfs error
on Intel Bay Trail systems:

[  298.969049] debugfs: Directory 'SSP2-Codec' with parent 'Baytrail Audio Port' already present!

This commit adds a ":playback" or ":capture" postfix to the debugfs dir
name fixing this.

Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20191005212202.5206-1-hdegoede@redhat.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent b1e620e7
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -1146,6 +1146,7 @@ static int dpcm_be_connect(struct snd_soc_pcm_runtime *fe,
{
	struct snd_soc_dpcm *dpcm;
	unsigned long flags;
	char *name;

	/* only add new dpcms */
	for_each_dpcm_be(fe, stream, dpcm) {
@@ -1171,9 +1172,15 @@ static int dpcm_be_connect(struct snd_soc_pcm_runtime *fe,
			stream ? "<-" : "->", be->dai_link->name);

#ifdef CONFIG_DEBUG_FS
	dpcm->debugfs_state = debugfs_create_dir(be->dai_link->name,
	name = kasprintf(GFP_KERNEL, "%s:%s", be->dai_link->name,
			 stream ? "capture" : "playback");
	if (name) {
		dpcm->debugfs_state = debugfs_create_dir(name,
							 fe->debugfs_dpcm_root);
	debugfs_create_u32("state", 0644, dpcm->debugfs_state, &dpcm->state);
		debugfs_create_u32("state", 0644, dpcm->debugfs_state,
				   &dpcm->state);
		kfree(name);
	}
#endif
	return 1;
}