aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/emu10k1/emumixer.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2005-09-30 10:56:59 -0400
committerJaroslav Kysela <perex@suse.cz>2005-10-07 08:46:26 -0400
commitf12aa40c9d76af5add413731d30565327219c41f (patch)
tree2ab066543d5b549427f2e1a355096168705aeb57 /sound/pci/emu10k1/emumixer.c
parentc66186e1c966e7e115a86af55597c05c5512014b (diff)
[ALSA] emu10k1 - Fix loading of SBLive Game board
EMU10K1/EMU10K2 driver Fixed the error at loading SBLive Game board (and possible other models). The PCI SSIDs of this board conflicts with SB Live 5.1 Platinum, which has no AC97 chip. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/emu10k1/emumixer.c')
-rw-r--r--sound/pci/emu10k1/emumixer.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sound/pci/emu10k1/emumixer.c b/sound/pci/emu10k1/emumixer.c
index d71a72e84bcc..6994f90bb83a 100644
--- a/sound/pci/emu10k1/emumixer.c
+++ b/sound/pci/emu10k1/emumixer.c
@@ -802,8 +802,13 @@ int __devinit snd_emu10k1_mixer(emu10k1_t *emu,
802 .read = snd_emu10k1_ac97_read, 802 .read = snd_emu10k1_ac97_read,
803 }; 803 };
804 804
805 if ((err = snd_ac97_bus(emu->card, 0, &ops, NULL, &pbus)) < 0) 805 if ((err = snd_ac97_bus(emu->card, 0, &ops, NULL, &pbus)) < 0) {
806 return err; 806 if (emu->card_capabilities->ac97_chip == 1)
807 return err;
808 snd_printd(KERN_INFO "emu10k1: AC97 is optional on this board\n");
809 snd_printd(KERN_INFO" Proceeding without ac97 mixers...\n");
810 goto no_ac97; /* FIXME: get rid of ugly gotos.. */
811 }
807 pbus->no_vra = 1; /* we don't need VRA */ 812 pbus->no_vra = 1; /* we don't need VRA */
808 813
809 memset(&ac97, 0, sizeof(ac97)); 814 memset(&ac97, 0, sizeof(ac97));
@@ -836,6 +841,7 @@ int __devinit snd_emu10k1_mixer(emu10k1_t *emu,
836 for (; *c; c++) 841 for (; *c; c++)
837 remove_ctl(card, *c); 842 remove_ctl(card, *c);
838 } else { 843 } else {
844 no_ac97:
839 if (emu->card_capabilities->ecard) 845 if (emu->card_capabilities->ecard)
840 strcpy(emu->card->mixername, "EMU APS"); 846 strcpy(emu->card->mixername, "EMU APS");
841 else if (emu->audigy) 847 else if (emu->audigy)