i386/73987: Nfirce2 MB sound problem
Andriy
freebsd_my at ua.fm
Mon Nov 15 17:40:27 PST 2004
>Number: 73987
>Category: i386
>Synopsis: Nfirce2 MB sound problem
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-i386
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Nov 16 01:40:26 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Andriy
>Release: 5.3
>Organization:
Colir-Pro
>Environment:
FreeBSD home.color-pro.in 5.3-RELEASE FreeBSD 5.3-RELEASE #0: Sun Nov 14 02:19:12 EET 2004 root at home.color-pro.in:/usr/src/sys/i386/compile/my i386
>Description:
sound card didn`t work because a bug in ich code!
>How-To-Repeat:
gm, just try to cat /dev/sndstat
>Fix:
static int
ich_resetchan(struct sc_info *sc, int num)
{
int i, cr, regbase;
if (num == 0)
regbase = ICH_REG_PO_BASE;
else if (num == 1)
regbase = ICH_REG_PI_BASE;
else if (num == 2)
regbase = ICH_REG_MC_BASE;
else
return ENXIO;
ich_wr(sc, regbase + ICH_REG_X_CR, 0, 1);
DELAY(1000); //edited by me -was 100
ich_wr(sc, regbase + ICH_REG_X_CR, ICH_X_CR_RR, 1);
for (i = 0; i < ICH_TIMEOUT; i++) {
cr = ich_rd(sc, regbase + ICH_REG_X_CR, 1);
if (cr == 0)
return 0;
}
device_printf(sc->dev, "cannot reset channel %d\n", num);
return 0; ///added by me
// return ENXIO;
}
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-i386
mailing list