Re: snd_hda fails to probe after 15 March



On 2007-03-26 00:44, Giorgos Keramidas <keramida@xxxxxxxxxxx> wrote:
On 2007-03-26 05:17, Ariff Abdullah <ariff@xxxxxxxxxxx> wrote:
On Sun, 25 Mar 2007 23:34:13 +0300
Giorgos Keramidas <keramida@xxxxxxxxxxx> wrote:
Some time after March 15, snd_hda started failing to attach to
pcm0 on my laptop. I haven't managed to nail the change down to
a single commit yet, but I've attached the files:
[...]
There seems to be at least one more message in dmesg.boot-25 which
seems relevant to snd_hda failing to attach:

pcm0: [MPSAFE]
pcm0: [ITHREAD]
+pcm0: hdac_get_capabilities: Invalid rirb size (0)
+device_attach: pcm0 attach returned 6
pcib1: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0

If you need anything more to troubleshoot this, let me know :)

Try reverting hdac.c, down to cvs revision 1.27

No luck with that version and a -DNO_CLEAN build. I'll try a full
kernel and modules recompile next.

A full kernel rebuild doesn't work either. In fact, even if I boot a
HEAD kernel, with hdac.c down to 1.27 and I load the snd_hda module from
the old kernel, I still get:

pcm0: <Intel 82801G High Definition Audio Controller> \
mem 0xf0000000-0xf0003fff
irq 22 at device 27.0 on pci0
pcm0: [MPSAFE]
pcm0: [ITHREAD]
pcm0: hdac_get_capabilities: Invalid rirb size (0)
device_attach: pcm0 attach returned 6
pci1: driver added
pci2: driver added

Apparently, rirbsize in hdac.c:1122 is not initialized or it is
initialized to zero:

1122 rirbsize = HDAC_READ_1(&sc->mem, HDAC_RIRBSIZE);
[...]
1133 device_printf(sc->dev, "%s: Invalid rirb size (%x)\n",
1134 __func__, rirbsize);
1135 return (ENXIO);

I was initially loading snd_hda from 'loader.conf', with:

snd_hda_load="YES"

but I don't know if this makes any difference. Unloading the module and
loading it manually doesn't seem to fix the call to HDAC_READ_1() which
sets rirbsize.

_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: cpufreq longhaul locks up
    ... Symbols match kernel version 2.6.21. ... Real Time Clock Driver v1.12ac ... Loading scsi_mod ... Loading xfs ...
    (Linux-Kernel)
  • Re: Dynamically loading binaries in Kernel mode.
    ... All I would have to do to detect your dynamic load is to put a bp on ... in the kernel and all the associated ref count problems that arise from ... You can easily write a driver that functions as a DLL, ... keeping the logic intact and loading it when required and unloading it ...
    (microsoft.public.development.device.drivers)
  • problems with PC crashing; help/insight requested
    ... Mini Kernel Dump File: Only registers and stack trace are available ... Win32 error 2 ... Loading Kernel Symbols ... Will force reload symbols with known size. ...
    (microsoft.public.windowsxp.general)
  • Re: custom kernel / driver loading issue
    ... > Loading scsi_mod module ... > SCSI subsystem driver Revsion... ... > Freeing unused kernel memory: ...
    (linux.redhat.install)
  • Re: CURRENT panics sometimes
    ... > kernel trap 12 with interrupts disabled ... page fault while in kernel mode ... Did you add your NDIS driver to /boot/loader.conf, or are you loading ...
    (freebsd-current)