[alsa-devel] snd_usb_endpoint_free
Daniel Mack
daniel at zonque.org
Wed Jun 25 12:13:25 CEST 2014
Hi Julia,
On 06/25/2014 08:50 AM, Julia Lawall wrote:
> On Wed, 25 Jun 2014, Julia Lawall wrote:
>> The function snd_usb_endpoint_free in sound/usb/endpoint.c is defined as
>> follows:
>>
>> void snd_usb_endpoint_free(struct list_head *head)
>> {
>> struct snd_usb_endpoint *ep;
>>
>> ep = list_entry(head, struct snd_usb_endpoint, list);
>> release_urbs(ep, 1);
>> kfree(ep);
>> }
>>
>> I wonder if the final kfree should be list_del? In practice, this
>
> Sorry, the question should be "I wonder if this function should also use
> list_del", since list_del doesn't subsume kfree.
>
> julia
>
>> function is only used from snd_usb_audio_disconnect in sound/usb/card.c
>> where the entire list is destroyed, but it seems like quite a generic
>> function that someone may someday want to use for just freeing one entry.
Jup, you're right, a list_del() in there wouldn't harm. However, it
currently wouldn't buy us anything either, and other functions we call
from snd_usb_audio_disconnect() for list members don't kill their own
list entry node themselves.
Thanks,
Daniel
More information about the Alsa-devel
mailing list