X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=sound%2Fisa%2Fcmi8330.c;h=3c1e9fd56fe00143e3c1a26ca81c5acc9affa4e8;hb=e993835441734c184d70d3716eed78a08eeb71c2;hp=bc0f5ebf5d3c835cb600a18565919b8729b03b57;hpb=ef7a4567dc542d8cc563755478464ea928fede41;p=powerpc.git diff --git a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c index bc0f5ebf5d..3c1e9fd56f 100644 --- a/sound/isa/cmi8330.c +++ b/sound/isa/cmi8330.c @@ -699,9 +699,11 @@ static int __init alsa_card_cmi8330_init(void) continue; device = platform_device_register_simple(CMI8330_DRIVER, i, NULL, 0); - if (IS_ERR(device)) { - err = PTR_ERR(device); - goto errout; + if (IS_ERR(device)) + continue; + if (!platform_get_drvdata(device)) { + platform_device_unregister(device); + continue; } platform_devices[i] = device; cards++; @@ -719,14 +721,10 @@ static int __init alsa_card_cmi8330_init(void) #ifdef MODULE snd_printk(KERN_ERR "CMI8330 not found or device busy\n"); #endif - err = -ENODEV; - goto errout; + snd_cmi8330_unregister_all(); + return -ENODEV; } return 0; - - errout: - snd_cmi8330_unregister_all(); - return err; } static void __exit alsa_card_cmi8330_exit(void)