---------------------
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;