All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Courtier-Dutton <James@superbug.co.uk>
To: alsa development <alsa-devel@alsa-project.org>
Subject: [PATCH] Improve error reporting for Audigy2 cards.
Date: Sun, 27 Feb 2005 18:14:04 +0000	[thread overview]
Message-ID: <42220DEC.5010606@superbug.co.uk> (raw)

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

                 reply	other threads:[~2005-02-27 18:14 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42220DEC.5010606@superbug.co.uk \
    --to=james@superbug.co.uk \
    --cc=alsa-devel@alsa-project.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.