aboutsummaryrefslogtreecommitdiffstats
path: root/sound/core/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/core/init.c')
-rw-r--r--sound/core/init.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/sound/core/init.c b/sound/core/init.c
index 728bb2ce0bc7..58e17d385f8d 100644
--- a/sound/core/init.c
+++ b/sound/core/init.c
@@ -338,7 +338,7 @@ int snd_card_free_in_thread(struct snd_card *card)
338 338
339static void choose_default_id(struct snd_card *card) 339static void choose_default_id(struct snd_card *card)
340{ 340{
341 int i, len, idx_flag = 0, loops = 8; 341 int i, len, idx_flag = 0, loops = SNDRV_CARDS;
342 char *id, *spos; 342 char *id, *spos;
343 343
344 id = spos = card->shortname; 344 id = spos = card->shortname;
@@ -380,9 +380,12 @@ static void choose_default_id(struct snd_card *card)
380 380
381 __change: 381 __change:
382 len = strlen(id); 382 len = strlen(id);
383 if (idx_flag) 383 if (idx_flag) {
384 id[len-1]++; 384 if (id[len-1] != '9')
385 else if ((size_t)len <= sizeof(card->id) - 3) { 385 id[len-1]++;
386 else
387 id[len-1] = 'A';
388 } else if ((size_t)len <= sizeof(card->id) - 3) {
386 strcat(id, "_1"); 389 strcat(id, "_1");
387 idx_flag++; 390 idx_flag++;
388 } else { 391 } else {
@@ -461,12 +464,12 @@ static void snd_card_info_read(struct snd_info_entry *entry,
461 read_lock(&snd_card_rwlock); 464 read_lock(&snd_card_rwlock);
462 if ((card = snd_cards[idx]) != NULL) { 465 if ((card = snd_cards[idx]) != NULL) {
463 count++; 466 count++;
464 snd_iprintf(buffer, "%i [%-15s]: %s - %s\n", 467 snd_iprintf(buffer, "%2i [%-15s]: %s - %s\n",
465 idx, 468 idx,
466 card->id, 469 card->id,
467 card->driver, 470 card->driver,
468 card->shortname); 471 card->shortname);
469 snd_iprintf(buffer, " %s\n", 472 snd_iprintf(buffer, " %s\n",
470 card->longname); 473 card->longname);
471 } 474 }
472 read_unlock(&snd_card_rwlock); 475 read_unlock(&snd_card_rwlock);
@@ -508,7 +511,8 @@ static void snd_card_module_info_read(struct snd_info_entry *entry,
508 for (idx = 0; idx < SNDRV_CARDS; idx++) { 511 for (idx = 0; idx < SNDRV_CARDS; idx++) {
509 read_lock(&snd_card_rwlock); 512 read_lock(&snd_card_rwlock);
510 if ((card = snd_cards[idx]) != NULL) 513 if ((card = snd_cards[idx]) != NULL)
511 snd_iprintf(buffer, "%i %s\n", idx, card->module->name); 514 snd_iprintf(buffer, "%2i %s\n",
515 idx, card->module->name);
512 read_unlock(&snd_card_rwlock); 516 read_unlock(&snd_card_rwlock);
513 } 517 }
514} 518}