aboutsummaryrefslogtreecommitdiffstats
path: root/sound/core/seq
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2006-06-23 08:37:59 -0400
committerJaroslav Kysela <perex@suse.cz>2006-09-23 04:36:48 -0400
commit746d4a02e68499fc6c1f8d0c43d2271853ade181 (patch)
treec4a1e9a0e8f5f95a44a3349d9b86490fe837428f /sound/core/seq
parent42750b04c5baa7c5ffdf0a8be2b9b320efdf069f (diff)
[ALSA] Fix disconnection of proc interface
- Add the linked list to each proc entry to enable a single-shot disconnection (unregister) - Deprecate snd_info_unregister(), use snd_info_free_entry() - Removed NULL checks of snd_info_free_entry() Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/core/seq')
-rw-r--r--sound/core/seq/oss/seq_oss.c3
-rw-r--r--sound/core/seq/seq_device.c2
-rw-r--r--sound/core/seq/seq_info.c6
3 files changed, 5 insertions, 6 deletions
diff --git a/sound/core/seq/oss/seq_oss.c b/sound/core/seq/oss/seq_oss.c
index e7234135641c..92858cf8b6eb 100644
--- a/sound/core/seq/oss/seq_oss.c
+++ b/sound/core/seq/oss/seq_oss.c
@@ -303,8 +303,7 @@ register_proc(void)
303static void 303static void
304unregister_proc(void) 304unregister_proc(void)
305{ 305{
306 if (info_entry) 306 snd_info_free_entry(info_entry);
307 snd_info_unregister(info_entry);
308 info_entry = NULL; 307 info_entry = NULL;
309} 308}
310#endif /* CONFIG_PROC_FS */ 309#endif /* CONFIG_PROC_FS */
diff --git a/sound/core/seq/seq_device.c b/sound/core/seq/seq_device.c
index 102ff548ce69..b85954e956d4 100644
--- a/sound/core/seq/seq_device.c
+++ b/sound/core/seq/seq_device.c
@@ -573,7 +573,7 @@ static void __exit alsa_seq_device_exit(void)
573{ 573{
574 remove_drivers(); 574 remove_drivers();
575#ifdef CONFIG_PROC_FS 575#ifdef CONFIG_PROC_FS
576 snd_info_unregister(info_entry); 576 snd_info_free_entry(info_entry);
577#endif 577#endif
578 if (num_ops) 578 if (num_ops)
579 snd_printk(KERN_ERR "drivers not released (%d)\n", num_ops); 579 snd_printk(KERN_ERR "drivers not released (%d)\n", num_ops);
diff --git a/sound/core/seq/seq_info.c b/sound/core/seq/seq_info.c
index 142e9e6882c9..8a7fe5cca1c9 100644
--- a/sound/core/seq/seq_info.c
+++ b/sound/core/seq/seq_info.c
@@ -64,9 +64,9 @@ int __init snd_seq_info_init(void)
64 64
65int __exit snd_seq_info_done(void) 65int __exit snd_seq_info_done(void)
66{ 66{
67 snd_info_unregister(queues_entry); 67 snd_info_free_entry(queues_entry);
68 snd_info_unregister(clients_entry); 68 snd_info_free_entry(clients_entry);
69 snd_info_unregister(timer_entry); 69 snd_info_free_entry(timer_entry);
70 return 0; 70 return 0;
71} 71}
72#endif 72#endif