public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Problem with snd_atiixp in 2.6.8-rc2 (and a workaround)
@ 2004-07-22 20:01 Peter Osterlund
  2004-07-24 19:32 ` Peter Osterlund
  0 siblings, 1 reply; 6+ messages in thread
From: Peter Osterlund @ 2004-07-22 20:01 UTC (permalink / raw)
  To: linux-kernel; +Cc: Takashi Iwai

The snd_atiixp module in the 2.6.8-rc2 kernel doesn't work on my
Compaq Presario R3000 (R3057EA) computer. When I load the module,
the kernel reports:

ACPI: PCI interrupt 0000:00:14.5[B] -> GSI 5 (level, low) -> IRQ 5
ATI IXP AC97 controller: probe of 0000:00:14.5 failed with error -13

The reason it fails is that snd_ac97_mixer() fails for the second
codec (ie when i==1). The patch below makes my sound card work, but
that patch was just based on wild guesses and is probably not
correct.

lspci reports:

00:14.5 Multimedia audio controller: ATI Technologies Inc IXP150 AC'97 Audio Controller
        Subsystem: Hewlett-Packard Company: Unknown device 006b
        Flags: bus master, 66Mhz, slow devsel, latency 64, IRQ 5
        Memory at e8003000 (32-bit, non-prefetchable)

Any idea how to fix this the right way?

---

 linux-petero/sound/pci/atiixp.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff -puN sound/pci/atiixp.c~r3000-sound-workaround sound/pci/atiixp.c
--- linux/sound/pci/atiixp.c~r3000-sound-workaround	2004-07-22 21:41:18.804609120 +0200
+++ linux-petero/sound/pci/atiixp.c	2004-07-22 21:41:50.549783120 +0200
@@ -1387,12 +1387,13 @@ static int __devinit snd_atiixp_mixer_ne
 		ac97.num = i;
 		ac97.scaps = AC97_SCAP_SKIP_MODEM;
 		if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97[i])) < 0) {
-			if (chip->codec_not_ready_bits)
+			if (chip->codec_not_ready_bits) {
 				/* codec(s) was detected but not available.
 				 * return the error
 				 */
-				return err;
-			else {
+				chip->ac97[i] = NULL; /* to be sure */
+				continue;
+			} else {
 				/* codec(s) was NOT detected, so just ignore here */
 				chip->ac97[i] = NULL; /* to be sure */
 				snd_printd("atiixp: codec %d not found\n", i);
_

-- 
Peter Osterlund - petero2@telia.com
http://w1.894.telia.com/~u89404340

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-07-27 16:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-22 20:01 Problem with snd_atiixp in 2.6.8-rc2 (and a workaround) Peter Osterlund
2004-07-24 19:32 ` Peter Osterlund
2004-07-24 20:32   ` Trond Myklebust
2004-07-27 10:51     ` Takashi Iwai
2004-07-27 16:30       ` Trond Myklebust
2004-07-27 16:40         ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox