--------------------- PatchSet 3085 Date: 2005/03/30 14:40:25 Author: tiwai Branch: HEAD Tag: (none) Log: Summary: Fix the default id of multiple cards Fixed the default id string in case identical multiple cards exist. Members: pci/emu10k1/emu10k1_main.c:1.51->1.52 Index: /sound/pci/emu10k1/emu10k1_main.c diff -u /sound/pci/emu10k1/emu10k1_main.c.old /sound/pci/emu10k1/emu10k1_main.c --- /sound/pci/emu10k1/emu10k1_main.c.old Wed Mar 30 05:22:26 2005 +++ /sound/pci/emu10k1/emu10k1_main.c Wed Mar 30 05:40:25 2005 @@ -787,8 +787,22 @@ else snd_printdd("Sound card name=%s, vendor=0x%x, device=0x%x, subsystem=0x%x\n", c->name, pci->vendor, pci->device, emu->serial); - if (!*card->id && c->id) + if (!*card->id && c->id) { + int i, n = 0; strlcpy(card->id, c->id, sizeof(card->id)); + for (;;) { + for (i = 0; i < snd_ecards_limit; i++) { + if (snd_cards[i] && !strcmp(snd_cards[i]->id, card->id)) + break; + } + if (i >= snd_ecards_limit) + break; + n++; + if (n >= SNDRV_CARDS) + break; + snprintf(card->id, sizeof(card->id), "%s_%d", c->id, n); + } + } is_audigy = emu->audigy = c->emu10k2_chip;