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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 29 Dec 2015 12:37:06 +0100,
Takashi Sakamoto wrote:
> 
> 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?

I don't think it causing problems but just superfluous to call
explicitly there.  You (should) call snd_card_free*() in the error
path, and these components are released there automatically.

In which code path did you see the leak?  This already sounds
strange.


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux