[ALSA] Unregister device files at disconnection

Orignally proposed by Sam Revitch <sam.revitch@gmail.com>.
Unregister device files at disconnection to avoid the futher accesses.
Also, the dev_unregister callback is removed and replaced with the
combination of disconnect + free.
A new function snd_card_free_when_closed() is introduced, which is
used in USB disconnect callback.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Šī revīzija ir iekļauta:
Takashi Iwai
2006-06-23 14:38:23 +02:00
revīziju iesūtīja Jaroslav Kysela
vecāks 746d4a02e6
revīzija c461482c80
15 mainīti faili ar 149 papildinājumiem un 173 dzēšanām

Parādīt failu

@@ -3499,7 +3499,7 @@ static void snd_usb_audio_disconnect(struct usb_device *dev, void *ptr)
}
usb_chip[chip->index] = NULL;
mutex_unlock(&register_mutex);
snd_card_free(card);
snd_card_free_when_closed(card);
} else {
mutex_unlock(&register_mutex);
}