On 2007-03-26 00:44, Giorgos Keramidas <keramida_at_freebsd.org> wrote: >On 2007-03-26 05:17, Ariff Abdullah <ariff_at_FreeBSD.org> wrote: >>On Sun, 25 Mar 2007 23:34:13 +0300 >>Giorgos Keramidas <keramida_at_freebsd.org> 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.Received on Mon Mar 26 2007 - 08:23:24 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:07 UTC