* [PATCH] Improve error reporting for Audigy2 cards.
@ 2005-02-27 18:14 James Courtier-Dutton
0 siblings, 0 replies; only message in thread
From: James Courtier-Dutton @ 2005-02-27 18:14 UTC (permalink / raw)
To: alsa development
[-- Attachment #1: Type: text/plain, Size: 334 bytes --]
Hi,
This is a small patch to help with error reporting when the probe of the
sound card fails. It just tells us in dmesg why it failed, instead of
failing quietly. This is particularly helpful for diagnosing problems
with new sound cards. e.g. the as yet unsupported Audigy 2 PCMCIA card.
Signed off: James@superbug.demon.co.uk
[-- Attachment #2: audigy2-error-reporting.diff.txt --]
[-- Type: text/plain, Size: 2937 bytes --]
Index: alsa-driver/alsa-kernel/pci/emu10k1/emu10k1.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emu10k1.c,v
retrieving revision 1.31
diff -u -r1.31 emu10k1.c
--- alsa-driver/alsa-kernel/pci/emu10k1/emu10k1.c 16 Feb 2005 10:25:36 -0000 1.31
+++ alsa-driver/alsa-kernel/pci/emu10k1/emu10k1.c 27 Feb 2005 18:10:15 -0000
@@ -106,16 +106,21 @@
#endif
int err;
- if (dev >= SNDRV_CARDS)
+ if (dev >= SNDRV_CARDS) {
+ snd_printk("Probe failed. Too many cards.\n");
return -ENODEV;
+ }
if (!enable[dev]) {
dev++;
+ snd_printk("Probe failed. Administatively disabled.\n");
return -ENOENT;
}
card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0);
- if (card == NULL)
+ if (card == NULL) {
+ snd_printk("Probe failed. Not enough memory for snd_card_new().\n");
return -ENOMEM;
+ }
if (max_buffer_size[dev] < 32)
max_buffer_size[dev] = 32;
else if (max_buffer_size[dev] > 1024)
@@ -125,48 +130,58 @@
enable_ir[dev],
&emu)) < 0) {
snd_card_free(card);
+ snd_printk("Probe failed. Error during snd_emu10k1_create().\n");
return err;
}
if ((err = snd_emu10k1_pcm(emu, 0, NULL)) < 0) {
snd_card_free(card);
+ snd_printk("Probe failed. Error during snd_emu10k1_pcm().\n");
return err;
}
if ((err = snd_emu10k1_pcm_mic(emu, 1, NULL)) < 0) {
snd_card_free(card);
+ snd_printk("Probe failed. Error during snd_emu10k1_pcm_mic().\n");
return err;
}
if ((err = snd_emu10k1_pcm_efx(emu, 2, NULL)) < 0) {
snd_card_free(card);
+ snd_printk("Probe failed. Error during snd_emu10k1_pcm_efx().\n");
return err;
}
if ((err = snd_emu10k1_mixer(emu)) < 0) {
snd_card_free(card);
+ snd_printk("Probe failed. Error during snd_emu10k1_mixer().\n");
return err;
}
if ((err = snd_emu10k1_timer(emu, 0)) < 0) {
snd_card_free(card);
+ snd_printk("Probe failed. Error during snd_emu10k1_timer().\n");
return err;
}
if ((err = snd_emu10k1_pcm_multi(emu, 3, NULL)) < 0) {
snd_card_free(card);
+ snd_printk("Probe failed. Error during snd_emu10k1_pcm_multi().\n");
return err;
}
if (emu->audigy) {
if ((err = snd_emu10k1_audigy_midi(emu)) < 0) {
snd_card_free(card);
+ snd_printk("Probe failed. Error during snd_emu10k1_audigy_midi().\n");
return err;
}
} else {
if ((err = snd_emu10k1_midi(emu)) < 0) {
snd_card_free(card);
+ snd_printk("Probe failed. Error during snd_emu10k1_midi().\n");
return err;
}
}
if ((err = snd_emu10k1_fx8010_new(emu, 0, NULL)) < 0) {
snd_card_free(card);
+ snd_printk("Probe failed. Error during snd_emu10k1_fx8010_new().\n");
return err;
}
#ifdef ENABLE_SYNTH
@@ -205,6 +220,7 @@
if ((err = snd_card_register(card)) < 0) {
snd_card_free(card);
+ snd_printk("Probe failed. Error during snd_card_register().\n");
return err;
}
pci_set_drvdata(pci, card);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-02-27 18:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-27 18:14 [PATCH] Improve error reporting for Audigy2 cards James Courtier-Dutton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.