Re: Oops in set_spdif_output in i810_audio

Triffid Hunter
2005-04-03T10:23:24Z

try turning off your internal modem in bios until someone works out whats going on here

SuD (Alex) wrote:
> Hi, i got a new ahtec laptop and i get null pointer oops everytime i
> load i810_audio on 2.4 and 2.6 (including 2.6.11.6) kernels.
>
> *** These are init messages & oops:
> i810_audio: Unknown symbol ac97_set_dac_rate
> i810_audio: Unknown symbol ac97_release_codec
> i810_audio: Unknown symbol ac97_set_adc_rate
> i810_audio: Unknown symbol ac97_alloc_codec
> i810_audio: Unknown symbol ac97_probe_codec
> Intel 810 + AC97 Audio, version 1.01, 04:15:45 Jan 24 2005
> ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 10 (level, low) -> IRQ 10
> i810: Intel ICH4 found at IO 0x18c0 and 0x1c00, MEM 0xe0100c00 and
> 0xe0100800, IRQ 10
> i810: Intel ICH4 mmio at 0xde9f3c00 and 0xdea84800
> i810_audio: Primary codec has ID 0
> i810_audio: Audio Controller supports 6 channels.
> i810_audio: Defaulting to base 2 channel mode.
> i810_audio: Resetting connection 0
> i810_audio: Connection 0 with codec id 0
> ac97_codec: AC97 Modem codec, id: CXT48 (Unknown)
> i810_audio: codec 0 is a softmodem - skipping.
> ...
> EIP: 0060:[<dec4b172>] Not tainted
> EFLAGS: 00010246 (2.6.8-2-686)
> EIP is at i810_set_spdif_output+0x22/0x160 [i810_audio]
> eax: ffffffff ebx: 00000000 ecx: d9c28400 edx: d9c28400
> esi: 00000000 edi: 00000000 ebp: d6edfb80 esp: d7383e30
> ds: 007b es: 007b ss: 0068
> Process insmod (pid: 3358, threadinfo=d7382000 task=dca643b0)
> Stack: 00004461 ffffffce c011c7f4 00000000 d6edfb80 00000000 d6edfc18
> 00000000
> dec4ff9f d6edfb80 ffffffff 00000000 dec51740 d7383e7c dda3c240
> 00000a04
> d9c28400 dec4fdb0 d6edfbb0 d9c28400 00000000 00000001 00000000
> 00000001
> Call Trace:
> [<c011c7f4>] release_console_sem+0xc4/0xd0
> [<dec4ff9f>] i810_configure_clocking+0xbf/0x4c0 [i810_audio]
> [<dec4fdb0>] i810_ac97_init+0x4a0/0x5d0 [i810_audio]
> [<dec5084f>] i810_probe+0x4af/0x690 [i810_audio]
>
> *** This is my device:
> 0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM
> (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
> Subsystem: QUANTA Computer Inc: Unknown device 0707
> Flags: bus master, medium devsel, latency 0, IRQ 10
> I/O ports at 1c00 [size=256]
> I/O ports at 18c0 [size=64]
> Memory at e0100c00 (32-bit, non-prefetchable) [size=512]
> Memory at e0100800 (32-bit, non-prefetchable) [size=256]
> Capabilities: [50] Power Management version 2
>
>
> *** What happened in set_spdif_output:
> struct ac97_codec *codec = state->card->ac97_codec[0];
> // ... for some reason codec is NULL, and then
> if(!codec->codec_ops->digital)
> // ... oops
>
> *** Why is that null?
> Perhaps it is because the driver thinks that the card is a modem and
> releases it. So no codecs are available, but some functions expect at
> least one codec to exist.
>
> if(codec->modem)
> {
> printk(KERN_WARNING "i810_audio: codec %d is a
> softmodem - skipping.\n", ac97_id);
> ac97_release_codec(codec);
>
> And is detected as modem because of this condition (in ac97_codec.c):
> /* Check for an AC97 1.0 soft modem (ID1) */
> if(codec->codec_read(codec, AC97_RESET) & 2)
> I don't know much about ac97, i also have an ac97 modem. Anybody knows
> what is wrong?
>
> Btw, Alsa snd-intel8x0 driver works, but as many distros still default
> to Oss i think this bug should be hunt.
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>