diff options
Diffstat (limited to 'sound/core/timer.c')
-rw-r--r-- | sound/core/timer.c | 10 |
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 | |||
2114 | put_timer: | ||
2115 | put_device(&timer_dev); | ||
2116 | return err; | ||
2115 | } | 2117 | } |
2116 | 2118 | ||
2117 | static void __exit alsa_timer_exit(void) | 2119 | static void __exit alsa_timer_exit(void) |