[alsa-devel] [PATCH 3/5] ALSA: dice: ensure to release sound devices after sound card registration fails

Takashi Sakamoto o-takashi at sakamocchi.jp
Tue Dec 29 12:37:06 CET 2015


On 2015年12月29日 19:56, Takashi Sakamoto wrote:
> On 2015年12月29日 18:00, Takashi Iwai wrote:
>> On Sat, 26 Dec 2015 04:35:24 +0100,
>> Takashi Sakamoto wrote:
>>>
>>> When work of sound card registration fails, bus reset on IEEE 1394
>>> can schedule the work again. In this case, currently instances of PCM and
>>> RawMIDI devices are not released, but allocated and errors occurs.
>>>
>>> This commit solves this issue. The allocated data is kept and released
>>> at any failures in the work.
>>
>> Aren't they be released in snd_card_free() in the later error path?
> 
> Not in the error path, but indeed in card free processing. They're not
> released anymore. I should have used snd_pcm_free() and
> snd_rawmidi_free() for this purpose. (I misunderstand they should be
> used after calling snd_card_register().)

I realized that both of snd_rawmidi_free() and snd_pcm_free() are called
by snd_device_free(), then all of allocated memory blocks are freed.

Which error pathes do you think to cause the problems?


Regards

Takashi Sakamoto


More information about the Alsa-devel mailing list