Bug 32530

Summary: Fix for midi(4) causing hang at boot with some SB AWE64 cards
Product: Base System Reporter: Magnus Backstrom <b>
Component: kernAssignee: tanimura
Status: Closed FIXED    
Severity: Affects Only Me CC: b
Priority: Normal    
Version: 5.0-CURRENT   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff
none
file.diff none

Description Magnus Backstrom 2001-12-05 09:20:08 UTC
I tried configuring a kernel with midi.  The machine stopped dead while
booting, right after finding the emu8000 wavetable chip on a SB AWE64 PNP
card in the machine.

It turns out the card has a bug which results in some I/O registers not
getting configured by PNP.  The driver did not correctly recognize the
situation, and got stuck in a loop while interviewing the card.

I located and fixed the immediate problem.  Please see the patches
below, and advise.

Fix: Two patches.  One for the driver, one to update a table of PNP IDs a bit:

Patch #1, repairs the emu8000 resource allocation so that an
incorrectly PNP-configured card gets rejected gracefully instead of
causing a hang.

================================================================
Patch #2, adds the Vendor and Logical IDs of the particular kind of
AWE64 board that I have to the pnp_quirks table in sys/isa/pnp.c,
thus enabling correct probe/attach of the card.

================================================================
How-To-Repeat: 
Configure midi into a 5.0-CURRENT kernel, and have an AWE64 in your machine
that isn't known by sys/isa/pnp.c->pnp_quirks.
Comment 1 tanimura freebsd_committer freebsd_triage 2002-02-05 06:33:51 UTC
Responsible Changed
From-To: freebsd-bugs->tanimura

Designated by the originator.
Comment 2 tanimura freebsd_committer freebsd_triage 2002-02-05 06:54:37 UTC
State Changed
From-To: open->closed

Fixed in sys/dev/sound/isa/emu8000.c rev 1.9 and isa/pnp.c 1.12, thanks!