diff options
Diffstat (limited to 'sound/last.c')
-rw-r--r-- | sound/last.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sound/last.c b/sound/last.c index 43f222825038..4f5a624ab438 100644 --- a/sound/last.c +++ b/sound/last.c @@ -24,14 +24,18 @@ static int __init alsa_sound_last_init(void) { + struct snd_card *card; int idx, ok = 0; printk(KERN_INFO "ALSA device list:\n"); - for (idx = 0; idx < SNDRV_CARDS; idx++) - if (snd_cards[idx] != NULL) { - printk(KERN_INFO " #%i: %s\n", idx, snd_cards[idx]->longname); + for (idx = 0; idx < SNDRV_CARDS; idx++) { + card = snd_card_ref(idx); + if (card) { + printk(KERN_INFO " #%i: %s\n", idx, card->longname); + snd_card_unref(card); ok++; } + } if (ok == 0) printk(KERN_INFO " No soundcards found.\n"); return 0; |