|
@@ -1068,11 +1068,19 @@ static int snd_fm801_mixer(struct fm801 *chip)
|
|
|
if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97_sec)) < 0)
|
|
|
return err;
|
|
|
}
|
|
|
- for (i = 0; i < FM801_CONTROLS; i++)
|
|
|
- snd_ctl_add(chip->card, snd_ctl_new1(&snd_fm801_controls[i], chip));
|
|
|
+ for (i = 0; i < FM801_CONTROLS; i++) {
|
|
|
+ err = snd_ctl_add(chip->card,
|
|
|
+ snd_ctl_new1(&snd_fm801_controls[i], chip));
|
|
|
+ if (err < 0)
|
|
|
+ return err;
|
|
|
+ }
|
|
|
if (chip->multichannel) {
|
|
|
- for (i = 0; i < FM801_CONTROLS_MULTI; i++)
|
|
|
- snd_ctl_add(chip->card, snd_ctl_new1(&snd_fm801_controls_multi[i], chip));
|
|
|
+ for (i = 0; i < FM801_CONTROLS_MULTI; i++) {
|
|
|
+ err = snd_ctl_add(chip->card,
|
|
|
+ snd_ctl_new1(&snd_fm801_controls_multi[i], chip));
|
|
|
+ if (err < 0)
|
|
|
+ return err;
|
|
|
+ }
|
|
|
}
|
|
|
return 0;
|
|
|
}
|