|
@@ -84,26 +84,32 @@ static int __init alsa_seq_init(void)
|
|
{
|
|
{
|
|
int err;
|
|
int err;
|
|
|
|
|
|
- if ((err = client_init_data()) < 0)
|
|
|
|
- goto error;
|
|
|
|
-
|
|
|
|
- /* init event queues */
|
|
|
|
- if ((err = snd_seq_queues_init()) < 0)
|
|
|
|
|
|
+ err = client_init_data();
|
|
|
|
+ if (err < 0)
|
|
goto error;
|
|
goto error;
|
|
|
|
|
|
/* register sequencer device */
|
|
/* register sequencer device */
|
|
- if ((err = snd_sequencer_device_init()) < 0)
|
|
|
|
|
|
+ err = snd_sequencer_device_init();
|
|
|
|
+ if (err < 0)
|
|
goto error;
|
|
goto error;
|
|
|
|
|
|
/* register proc interface */
|
|
/* register proc interface */
|
|
- if ((err = snd_seq_info_init()) < 0)
|
|
|
|
- goto error;
|
|
|
|
|
|
+ err = snd_seq_info_init();
|
|
|
|
+ if (err < 0)
|
|
|
|
+ goto error_device;
|
|
|
|
|
|
/* register our internal client */
|
|
/* register our internal client */
|
|
- if ((err = snd_seq_system_client_init()) < 0)
|
|
|
|
- goto error;
|
|
|
|
|
|
+ err = snd_seq_system_client_init();
|
|
|
|
+ if (err < 0)
|
|
|
|
+ goto error_info;
|
|
|
|
|
|
snd_seq_autoload_init();
|
|
snd_seq_autoload_init();
|
|
|
|
+ return 0;
|
|
|
|
+
|
|
|
|
+ error_info:
|
|
|
|
+ snd_seq_info_done();
|
|
|
|
+ error_device:
|
|
|
|
+ snd_sequencer_device_done();
|
|
error:
|
|
error:
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|