aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/emu10k1/emu10k1_main.c5
-rw-r--r--sound/pci/emu10k1/emumixer.c10
2 files changed, 12 insertions, 3 deletions
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c
index e87e8427f25f..e9cd8e054f25 100644
--- a/sound/pci/emu10k1/emu10k1_main.c
+++ b/sound/pci/emu10k1/emu10k1_main.c
@@ -756,9 +756,12 @@ static emu_chip_details_t emu_chip_details[] = {
756 .sblive51 = 1} , 756 .sblive51 = 1} ,
757 /* Tested by alsa bugtrack user "hus" bug #1297 12th Aug 2005 */ 757 /* Tested by alsa bugtrack user "hus" bug #1297 12th Aug 2005 */
758 {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80611102, 758 {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80611102,
759 .driver = "EMU10K1", .name = "SBLive! Platinum 5.1 [SB0060]", 759 .driver = "EMU10K1", .name = "SBLive 5.1 [SB0060]",
760 .id = "Live", 760 .id = "Live",
761 .emu10k1_chip = 1, 761 .emu10k1_chip = 1,
762 .ac97_chip = 2, /* ac97 is optional; both SBLive 5.1 and platinum
763 * share the same IDs!
764 */
762 .sblive51 = 1} , 765 .sblive51 = 1} ,
763 {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80511102, 766 {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80511102,
764 .driver = "EMU10K1", .name = "SBLive! Value [CT4850]", 767 .driver = "EMU10K1", .name = "SBLive! Value [CT4850]",
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)