kern/80977: panic with the vibra16x when trying to record
Hans Petter Selasky
hselasky at c2i.net
Fri May 13 13:00:14 GMT 2005
>Number: 80977
>Category: kern
>Synopsis: panic with the vibra16x when trying to record
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri May 13 13:00:12 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: HPS
>Release: FreeBSD 6.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD 6.0-CURRENT FreeBSD 6.0-CURRENT #45: Mon Mar 21 15:40:17 CET
2005 root@:/usr/obj/usr/src/sys/custom i386
>Description:
panic with the vibra16x when trying to record
>How-To-Repeat:
>Fix:
*** sys/dev/sound/isa/sb16.c.ref Wed Oct 20 22:10:18 2004
--- sys/dev/sound/isa/sb16.c Mon Nov 22 17:56:05 2004
***************
*** 478,484 ****
sb_intr(void *arg)
{
struct sb_info *sb = (struct sb_info *)arg;
! int reason = 3, c;
/*
* The Vibra16X has separate flags for 8 and 16 bit transfers, but
--- 478,484 ----
sb_intr(void *arg)
{
struct sb_info *sb = (struct sb_info *)arg;
! int reason, c;
/*
* The Vibra16X has separate flags for 8 and 16 bit transfers, but
***************
*** 554,561 ****
sb_reset_dsp(sb);
if (sb->bd_flags & BD_F_SB16X) {
pprio = sb->pch.run? 1 : 0;
! sndbuf_dmasetup(sb->pch.buffer, pprio? sb->drq1 : NULL);
sb->pch.dch = pprio? 1 : 0;
sndbuf_dmasetup(sb->rch.buffer, pprio? sb->drq2 : sb->drq1);
sb->rch.dch = pprio? 2 : 1;
--- 554,562 ----
sb_reset_dsp(sb);
if (sb->bd_flags & BD_F_SB16X) {
+ /* full-duplex doesn't work! */
pprio = sb->pch.run? 1 : 0;
! sndbuf_dmasetup(sb->pch.buffer, pprio? sb->drq1 : sb->drq2);
sb->pch.dch = pprio? 1 : 0;
sndbuf_dmasetup(sb->rch.buffer, pprio? sb->drq2 : sb->drq1);
sb->rch.dch = pprio? 2 : 1;
The vibra16X supports full duplex. I traced the Windows driver, and what is
does is that it programs one DMA channel 8-bit, and the other 16-bit. There
might be some kind of auto detection logic here, because it always uses 8-bit
for playback, even if I play 16-bit sound ...
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list