pcm timeout (debug output from snd_ich driver)
Don Lewis
truckman at FreeBSD.org
Fri Aug 20 12:36:11 PDT 2004
On 18 Aug, Conrad J. Sabatier wrote:
> On Wed, 18 Aug 2004 19:24:58 -0500
> "Conrad J. Sabatier" <conrads at cox.net> wrote:
>
>> OK, I enabled debug output in the sound driver in the hopes of finding
>> out a little bit more about what's going on with these insufferable
>> pcm timeouts using the snd_ich driver.
>
> Also, I've been meaning to ask: is there no possibility of somehow
> recovering gracefully from this condition so that the sound device might
> still be useable (similar to the recovery from ata and other timeouts),
> rather than leaving the device flat-out broken?
Only if we know where it is getting lost.
Try adding a three of global integers variables to ich.c. Increment one
of them on entry to inch_intr(), and increment the others in the area of
the code that calls chn_intr().
debug2++;
if (ch->run) {
debug3++;
chn_intr(ch->channel);
}
Make the variables readable via sysctl with something like the
following:
SYSCTL_INT(_debug_ich, OID_AUTO, debug1, CTLFLAG_RD,
&debug1, 0, "Number of times ich_intr() called");
Run the sound code until it hangs, and then use sysctl to see which if
any of these variables continue to increment.
More information about the freebsd-current
mailing list