diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-10-11 01:48:37 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-11 01:48:37 -0400 |
commit | 1a04392bd6439876b1552793389cbb5be356ea54 (patch) | |
tree | 12af7b77e3b0848127f2d2871778c9c1f315578a /sound/pci/emu10k1/emumixer.c | |
parent | 68399bb5080c1d96f2110b0a040b39d3ccd7a18a (diff) | |
parent | 3c92c2ba33cd7d666c5f83cc32aa590e794e91b0 (diff) | |
download | blackbird-op-linux-1a04392bd6439876b1552793389cbb5be356ea54.tar.gz blackbird-op-linux-1a04392bd6439876b1552793389cbb5be356ea54.zip |
Merge branch 'master'
Diffstat (limited to 'sound/pci/emu10k1/emumixer.c')
-rw-r--r-- | sound/pci/emu10k1/emumixer.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sound/pci/emu10k1/emumixer.c b/sound/pci/emu10k1/emumixer.c index d71a72e84bcc..7cc831ccd0cb 100644 --- a/sound/pci/emu10k1/emumixer.c +++ b/sound/pci/emu10k1/emumixer.c @@ -810,8 +810,14 @@ int __devinit snd_emu10k1_mixer(emu10k1_t *emu, ac97.private_data = emu; ac97.private_free = snd_emu10k1_mixer_free_ac97; ac97.scaps = AC97_SCAP_NO_SPDIF; - if ((err = snd_ac97_mixer(pbus, &ac97, &emu->ac97)) < 0) - return err; + if ((err = snd_ac97_mixer(pbus, &ac97, &emu->ac97)) < 0) { + if (emu->card_capabilities->ac97_chip == 1) + return err; + snd_printd(KERN_INFO "emu10k1: AC97 is optional on this board\n"); + snd_printd(KERN_INFO" Proceeding without ac97 mixers...\n"); + snd_device_free(emu->card, pbus); + goto no_ac97; /* FIXME: get rid of ugly gotos.. */ + } if (emu->audigy) { /* set master volume to 0 dB */ snd_ac97_write(emu->ac97, AC97_MASTER, 0x0000); @@ -836,6 +842,7 @@ int __devinit snd_emu10k1_mixer(emu10k1_t *emu, for (; *c; c++) remove_ctl(card, *c); } else { + no_ac97: if (emu->card_capabilities->ecard) strcpy(emu->card->mixername, "EMU APS"); else if (emu->audigy) |