aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa/cs423x/cs4231.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/isa/cs423x/cs4231.c')
-rw-r--r--sound/isa/cs423x/cs4231.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/sound/isa/cs423x/cs4231.c b/sound/isa/cs423x/cs4231.c
index a30dcd962525..073dac975679 100644
--- a/sound/isa/cs423x/cs4231.c
+++ b/sound/isa/cs423x/cs4231.c
@@ -209,10 +209,8 @@ static int __init alsa_card_cs4231_init(void)
209 continue; 209 continue;
210 device = platform_device_register_simple(SND_CS4231_DRIVER, 210 device = platform_device_register_simple(SND_CS4231_DRIVER,
211 i, NULL, 0); 211 i, NULL, 0);
212 if (IS_ERR(device)) { 212 if (IS_ERR(device))
213 err = PTR_ERR(device); 213 continue;
214 goto errout;
215 }
216 devices[i] = device; 214 devices[i] = device;
217 cards++; 215 cards++;
218 } 216 }
@@ -220,14 +218,10 @@ static int __init alsa_card_cs4231_init(void)
220#ifdef MODULE 218#ifdef MODULE
221 printk(KERN_ERR "CS4231 soundcard not found or device busy\n"); 219 printk(KERN_ERR "CS4231 soundcard not found or device busy\n");
222#endif 220#endif
223 err = -ENODEV; 221 snd_cs4231_unregister_all();
224 goto errout; 222 return -ENODEV;
225 } 223 }
226 return 0; 224 return 0;
227
228 errout:
229 snd_cs4231_unregister_all();
230 return err;
231} 225}
232 226
233static void __exit alsa_card_cs4231_exit(void) 227static void __exit alsa_card_cs4231_exit(void)