[alsa-devel] dmesg complains with CONFIG_SND_VERBOSE_PROCFS
Linus Walleij
linus.walleij at linaro.org
Mon Feb 27 20:12:22 CET 2017
On Mon, Feb 27, 2017 at 3:54 PM, Takashi Iwai <tiwai at suse.de> wrote:
> On Mon, 27 Feb 2017 14:49:00 +0100,
> Linus Walleij wrote:
>>
>> If CONFIG_SND_VERBOSE_PROCFS is enabled I got a bunch of
>> nasty messages from duplicate entries when registering the DAIs
>> like this:
>>
>> [ 3.144805] entry->name == "info"
>> [ 3.148132] entry->name == "info"
>> [ 3.151519] entry->name == "hw_params"
>> [ 3.155273] entry->name == "sw_params"
>> [ 3.159027] entry->name == "status"
>> [ 3.164001] entry->name == "prealloc"
>> [ 3.167663] entry->name == "prealloc_max"
>> [ 3.173034] entry->name == "prealloc"
>> [ 3.176696] ------------[ cut here ]------------
>> [ 3.181335] WARNING: CPU: 0 PID: 95 at ../fs/proc/generic.c:346
>> proc_register+0xf0/0x110
>> [ 3.189422] proc_dir_entry 'sub0/prealloc' already registered
>> (...)
>> [ 3.414642] entry->name == "prealloc_max"
>> [ 3.418670] ------------[ cut here ]------------
>> [ 3.423309] WARNING: CPU: 0 PID: 95 at ../fs/proc/generic.c:346
>> proc_register+0xf0/0x110
>> [ 3.431396] proc_dir_entry 'sub0/prealloc_max' already registered
>> (...)
>> [ 3.658020] snd-soc-mop500 soc:sound: ab8500-codec-dai.0 <->
>> 80124000.msp mapping ok
>> [ 3.665893] entry->name == "info"
>> [ 3.669219] entry->name == "info"
>> [ 3.672546] entry->name == "hw_params"
>> [ 3.676300] entry->name == "sw_params"
>> [ 3.680053] entry->name == "status"
>> [ 3.684906] entry->name == "prealloc"
>> [ 3.688568] entry->name == "prealloc_max"
>> [ 3.693939] entry->name == "prealloc"
>> [ 3.697601] ------------[ cut here ]------------
>> [ 3.702239] WARNING: CPU: 0 PID: 95 at ../fs/proc/generic.c:346
>> proc_register+0xf0/0x110
>> [ 3.710296] proc_dir_entry 'sub0/prealloc' already registered
>> (...)
>> [ 3.936645] entry->name == "prealloc_max"
>> [ 3.940673] ------------[ cut here ]------------
>> [ 3.945281] WARNING: CPU: 0 PID: 95 at ../fs/proc/generic.c:346
>> proc_register+0xf0/0x110
>> [ 3.953369] proc_dir_entry 'sub0/prealloc_max' already registered
>> [ 4.180023] snd-soc-mop500 soc:sound: ab8500-codec-dai.1 <->
>> 80125000.msp mapping ok
>>
>> What I can't seem to figure out is whether the DAI in my card
>> (sound/soc/ux500/mop500.c) is misconfigured some way, or
>> if CONFIG_SND_VERBOSE_PROCFS is not handling this
>> the right way?
>>
>> If I take out the config option everything seems to work smoothly
>> but I guess it should be possible to have this on?
>
> The warnings are about PCM substream procfs, and the conflicting ones
> are created by snd_pcm_lib_preallocate_pages*() calls.
>
> Is it a deferred probe? I can imagine that some driver forgot to
> clean up and left the preallocated stuff. For example,
> soc-generic-dmaengine-pcm.c calls snd_pcm_lib_preallocate_pages*() but
> has no counterpart for freeing it.
Ah! I bet a million to one you are spot on on this bug, it seems
intuitively correct: this is indeed a deferred probe.
I will try to fix it properly by patching the generic dmaengine driver.
Yours,
Linus Walleij
More information about the Alsa-devel
mailing list