[alsa-devel] ASoC: Failed to create DAPM debugfs

Nicolin Chen nicoleotsuka at gmail.com
Thu Apr 9 10:22:47 CEST 2015


On Thu, Apr 09, 2015 at 09:39:09AM +0200, Lars-Peter Clausen wrote:

> The whole thing is a bit confusing. The message you get is what
> you'd get if the 'dapm' sub-directory in the card debugfs directory
> can not be created. One of the few reasons why it would fail is if
> it already existed, but we should never register two dapm contexts
> for the card, so that's a bit strange. One of the few reasons I can
> imagine this could happen is if the parent directory could not be
> created and now we try to create multiple dapm directories at the
> top-level.
> 
> Try to do some more debugging and see why and where exactly things
> go wrong. Can you also try this:
> 
> diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
> index b6f8820..7810262 100644
> --- a/sound/soc/soc-dapm.c
> +++ b/sound/soc/soc-dapm.c
> @@ -1898,6 +1898,11 @@
>  {
>  	struct dentry *d;
> 
> +	if (!parent) {
> +		dev_warn(dapm->dev, "No debugfs parent!\n");

I tried, yes, the parent is NULL. And I did a little tracing and found
that the card->debugfs_root, which is NULL, should be initialized in
the soc_init_card_debugfs() while snd_soc_dapm_debugfs_init() seems
to access this card->debugfs_root before calling soc_init_card_debugfs().

I think I must have missed something over here....

Thank you
Nicolin


More information about the Alsa-devel mailing list