Bug #2067

sound/pcm: "play interrupt timeout, channel dead"

Added by matthiasr over 3 years ago. Updated about 2 hours ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Driver
Target version:3.8.0

Description

this fixes a "pcm0:virtual:0:dsp0.2: play interrupt timeout, channel dead" error
and sound breaking off after a few seconds of playback I encountered on my
Thinkpad X40. It was discussed on freebsd-current in 2004[1] but that code is no
longer present in FreeBSD while we still have it.

The patch[2] removes a line fixing a channel timeout to 1 tick instead of the
value calculated immediately beforehand, thus restoring the calculation.

[1] http://lists.freebsd.org/pipermail/freebsd-current/2004-
September/036805.html
[2]
http://gitweb.dragonflybsd.org/~matthiasr/dragonfly.git/commitdiff/4d3f6d0ed3435
46cbd7c8cfeaf0cce3f449122b6

History

#1 Updated by matthiasr over 3 years ago

Interestingly, this problem is gone for me on master even with the forced timeout.

#2 Updated by cnb about 3 hours ago

  • Description updated (diff)
  • Category set to Driver
  • Target version set to 3.8.0

This error has reappeared in 3.8

#3 Updated by dillon about 2 hours ago

  • Assignee deleted (0)

There are multiple problems here not the least of which being that a timeout of 1 tick is too low anyway, because it can wind up happening 1ns later (the next tick interrupt). So the minimum is 2 and the calculation also needs to average-up fractional results. I will commit a fix which calculates it properly.

-Matt

#4 Updated by dillon about 2 hours ago

I've committed 29ca9567 to master and cherry-pick'd it over to the 4.0 release. Please test.

-Matt

Also available in: Atom PDF