Re: snd_hda
"Sascha Wildner" <[email protected]>
| Newsgroups | gmane.os.dragonfly-bsd.kernel |
|---|---|
| Message-ID | <op.wl8bllqbr9a2dd@collider> |
On Mon, 15 Oct 2012 17:42:52 +0200, Goetz Isenmann <[email protected]> wrote: > On Sun, Oct 14, 2012 at 06:59:38PM +0800, Sepherosa Ziehau wrote: >> Please try following diff: >> http://leaf.dragonflybsd.org/~sephe/hda.diff >> >> cd /usr/src; patch -p1 -i ~/hda.diff > > Hey fine, I get clear sound again (when kldload after booting, > "Operation not supported by device" via loader.conf). I suspect it has to do with the intrhook in hdac.c not running properly in the latter case. I know of a similar issue in amr(4), but I have no fix. /* Defer remaining of initialization until interrupts are enabled */ sc->intrhook.ich_func = hdac_attach2; sc->intrhook.ich_arg = (void *)sc; sc->intrhook.ich_desc = "snd_hda"; if (cold == 0 || config_intrhook_establish(&sc->intrhook) != 0) { sc->intrhook.ich_func = NULL; hdac_attach2(sc); } My guess is that hdac_attach2() is not run (properly) as an intrhook when snd_hda(4) is loaded from loader.conf. Can you put up: 1) A /var/run/dmesg.boot from a verbose boot with snd_hda in loader.conf. 2) The relevant part of /var/log/messages upon kldload snd_hda from a verbosely booted system without snd_hda in loader.conf. Thanks, Sascha