aboutsummaryrefslogtreecommitdiffstats
path: root/sound/core/timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/core/timer.c')
-rw-r--r--sound/core/timer.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sound/core/timer.c b/sound/core/timer.c
index 6051aed3197f..6cdd04a45962 100644
--- a/sound/core/timer.c
+++ b/sound/core/timer.c
@@ -2097,8 +2097,7 @@ static int __init alsa_timer_init(void)
2097 err = snd_timer_register_system(); 2097 err = snd_timer_register_system();
2098 if (err < 0) { 2098 if (err < 0) {
2099 pr_err("ALSA: unable to register system timer (%i)\n", err); 2099 pr_err("ALSA: unable to register system timer (%i)\n", err);
2100 put_device(&timer_dev); 2100 goto put_timer;
2101 return err;
2102 } 2101 }
2103 2102
2104 err = snd_register_device(SNDRV_DEVICE_TYPE_TIMER, NULL, 0, 2103 err = snd_register_device(SNDRV_DEVICE_TYPE_TIMER, NULL, 0,
@@ -2106,12 +2105,15 @@ static int __init alsa_timer_init(void)
2106 if (err < 0) { 2105 if (err < 0) {
2107 pr_err("ALSA: unable to register timer device (%i)\n", err); 2106 pr_err("ALSA: unable to register timer device (%i)\n", err);
2108 snd_timer_free_all(); 2107 snd_timer_free_all();
2109 put_device(&timer_dev); 2108 goto put_timer;
2110 return err;
2111 } 2109 }
2112 2110
2113 snd_timer_proc_init(); 2111 snd_timer_proc_init();
2114 return 0; 2112 return 0;
2113
2114put_timer:
2115 put_device(&timer_dev);
2116 return err;
2115} 2117}
2116 2118
2117static void __exit alsa_timer_exit(void) 2119static void __exit alsa_timer_exit(void)