NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/51710: audio playback works only once
The following reply was made to PR kern/51710; it has been noted by GNATS.
From: Martin Husemann <martin%duskware.de@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: kern/51710: audio playback works only once
Date: Tue, 20 Dec 2016 15:00:33 +0100
I added a bit more debug output and got a backtrace from the failing
cv_wait_sig() call:
AUDIO_DEBUG log from starting the second playback:
audio_open: flags=0x2 sc=0x108f44000 hdl=0x107697b08
audio_init_ringbuffer: MI blksize=8816
audio_init_ringbuffer: final blksize=8816
audio_init_ringbuffer: MI blksize=8816
audio_init_ringbuffer: final blksize=8816
audio_initbufs: mode=0x5
audio_init_ringbuffer: MI blksize=8816
audio_init_ringbuffer: final blksize=8816
audio_init_ringbuffer: MI blksize=8816
audio_init_ringbuffer: final blksize=8816
audiosetinfo sc=0x108f44000 ai=0x2607f7460
audiosetinfo() Setting record params: enc=1 1ch 8/8bit 8000Hz
audiosetinfo() Setting play params: enc=1 1ch 8/8bit 8000Hz
audio_setup_pfilters: HW-buffer=0x1093f92c8 pustream=0x1093f9048
[0] enc=1 1ch 8/8bit 8000Hz
[1] enc=7 1ch 16/16bit 8000Hz
[HW] enc=7 2ch 16/16bit 44100Hz
audio_setup_rfilters: HW-buffer=0x1093f9368 pustream=0x1093f9480
[HW] enc=7 2ch 16/16bit 44100Hz
[0] enc=7 1ch 16/16bit 8000Hz
[1] enc=1 1ch 8/8bit 8000Hz
audiosetinfo: filter setup is completed.
audio_calc_blksize: record blksize=8820
audio_calc_blksize: play blksize=8820
audio_calc_blksize: record blksize=8820
audio_calc_blksize: play blksize=8820
audio_initbufs: mode=0x5
audio_init_ringbuffer: MI blksize=8816
audio_init_ringbuffer: final blksize=8816
audio_calcwater: plow=49152 phigh=65536 rlow=0 rhigh=56716
audiostartp: start=0x10a8a2000 used=0(hi=65536 blk=8816) mmapped=0
audiostartp: wakeup and return
audio_calcwater: plow=49152 phigh=65536 rlow=0 rhigh=56720
audio_open: done sc_mode = 0x5
audio_ioctl(136,'A',22)
AUDIO_SETINFO mode=0x5
audiosetinfo sc=0x108f44000 ai=0x10a7f9e28
audiosetinfo() Setting play params: enc=3 1ch 16/16bit 8000Hz
audio_setup_pfilters: HW-buffer=0x1093f92c8 pustream=0x1093f9048
[0] enc=7 1ch 16/16bit 8000Hz
[HW] enc=7 2ch 16/16bit 44100Hz
audiosetinfo: filter setup is completed.
audio_calc_blksize: record blksize=8820
audio_calc_blksize: play blksize=8820
audio_initbufs: mode=0x5
audio_init_ringbuffer: MI blksize=8816
audio_init_ringbuffer: final blksize=8816
audio_calcwater: plow=49152 phigh=65536 rlow=0 rhigh=56716
audio_ioctl(136,'A',22) result 0
audio_ioctl(136,'A',22)
AUDIO_SETINFO mode=0x5
audiosetinfo sc=0x108f44000 ai=0x10a7f9e28
audio_ioctl(136,'A',22) result 0
audio_close: sc=0x108f44000
audio_drain: enter busy=0
audio_drain: n=0, used=0, drops=0
audio_waitio: cv_wait_sig for condvar 0x108f5c0e0 with mutex 0x107697b10
audio_waitio: cv_wait_sig for condvar 0x108f5c0e0 with mutex 0x107697b10 returned -3
The call stack at this point is:
audio_waitio+0xfc
audio_drain+0x170
audio_close+0x31c
audioclose+0xec
spec_close+0x1bc
ufsspec_close+0x50
VOP_CLOSE+0x30
vn_close+0x84
closef+0x5c
sys_close+0x14
syscall+0x4f4
It seems that it is waiting for output to drain but that never happens.
Maybe a driver specific bug? Any hints?
Martin
Home |
Main Index |
Thread Index |
Old Index