kern/87782: [sound] snd_t4dwave and pcm0:record:0: record
interrupt timeout, channel dead
Gildor Oronar
gildororonar at mail-on.us
Sat Apr 14 09:10:14 UTC 2012
The following reply was made to PR kern/87782; it has been noted by GNATS.
From: Gildor Oronar <gildororonar at mail-on.us>
To: bug-followup at FreeBSD.org, freebsd at fadesa.es
Cc:
Subject: Re: kern/87782: [sound] snd_t4dwave and pcm0:record:0: record interrupt
timeout, channel dead
Date: Sat, 14 Apr 2012 16:42:32 +0800
I have the same error message but on playback. Device is SiS 7018.
[zhangweiwu at lugdunnum ~]$ dmesg | tail
ath0: <Atheros 5212> irq 11 at device 0.0 on cardbus0
ath0: AR5212 mac 5.9 RF5112 phy 4.3
uhub0: 3 ports with 3 removable, self powered
uhub1: 3 ports with 3 removable, self powered
Trying to mount root from ufs:/dev/ada0s2a [rw]...
wlan0: Ethernet address: 00:40:96:ae:79:d3
drm0: <SiS 630> on vgapci0
info: [drm] AGP at 0xe0000000 64MB
info: [drm] Initialized sis 1.3.0 20070626
pcm0: chn_write(): pcm0:play:dsp0.p1: play interrupt timeout, channel dead
Note the last line of error message is only after playback for about 3
seconds. The first 3 seconds playback fine though, with any software
(tried mpg321 and xine -A oss).
Since the patch you offered no longer can apply, I did the minimum
change on t4dwave.c and compiled a new kernel, tried, without luck (same
error mssage). What I did is:
@@ -725,7 +726,7 @@
intsrc = tr_rd(tr, TR_REG_MISCINT, 4);
if (intsrc & TR_INT_ADDR) {
chnum = 0;
- while (chnum < 64) {
+ while (chnum < 32) {
mask = 0x00000001;
active = tr_rd(tr, (chnum < 32)? TR_REG_ADDRINTA : TR_REG_ADDRINTB, 4);
bufhalf = tr_rd(tr, (chnum < 32)? TR
Looking at the source code the problem triggered by "while (chnum < 64)"
should have been fixed already, thus this bug should be closed, mine is
probably a different one.
Anything to try for me?
More information about the freebsd-multimedia
mailing list