ALSA: snd-usb: switch over to new endpoint streaming logic
With the previous commit that added the new streaming model, all endpoint and streaming related code is now in endpoint.c, and pcm.c only acts as a wrapper for handling the packet's payload. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Bu işleme şunda yer alıyor:

işlemeyi yapan:
Takashi Iwai

ebeveyn
8fdff6a319
işleme
edcd3633e7
@@ -131,8 +131,9 @@ static void snd_usb_stream_disconnect(struct list_head *head)
|
||||
subs = &as->substream[idx];
|
||||
if (!subs->num_formats)
|
||||
continue;
|
||||
snd_usb_release_substream_urbs(subs, 1);
|
||||
subs->interface = -1;
|
||||
subs->data_endpoint = NULL;
|
||||
subs->sync_endpoint = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -350,6 +351,7 @@ static int snd_usb_audio_create(struct usb_device *dev, int idx,
|
||||
chip->usb_id = USB_ID(le16_to_cpu(dev->descriptor.idVendor),
|
||||
le16_to_cpu(dev->descriptor.idProduct));
|
||||
INIT_LIST_HEAD(&chip->pcm_list);
|
||||
INIT_LIST_HEAD(&chip->ep_list);
|
||||
INIT_LIST_HEAD(&chip->midi_list);
|
||||
INIT_LIST_HEAD(&chip->mixer_list);
|
||||
|
||||
@@ -567,6 +569,10 @@ static void snd_usb_audio_disconnect(struct usb_device *dev,
|
||||
list_for_each(p, &chip->pcm_list) {
|
||||
snd_usb_stream_disconnect(p);
|
||||
}
|
||||
/* release the endpoint resources */
|
||||
list_for_each(p, &chip->ep_list) {
|
||||
snd_usb_endpoint_free(p);
|
||||
}
|
||||
/* release the midi resources */
|
||||
list_for_each(p, &chip->midi_list) {
|
||||
snd_usbmidi_disconnect(p);
|
||||
|
Yeni konuda referans
Bir kullanıcı engelle