Subject: eap match fix for soundblaster PCI 128 (again)
To: None <tech-kern@netbsd.org>
From: Emmanuel Dreyfus <manu@netbsd.org>
List: tech-kern
Date: 06/13/2006 22:25:46
My last message on the topic led to nothing, but it's parly my fault
since I reported a wrong info. Let's try to start over

I have a Soundblaster PCI 128 matched by the eap driver:
eap0 at pci4 dev 8 function 0: Ensoniq AudioPCI 97 ES1373-8(rev. 0x08)

ES1373-8 means the ct5880 flag in the driver is enabled. This causes
panics ("eap_intr: unexpected MCCB interrupt ") as soon as I play
sounds. Setting ct5880 to 0 fixes the problem. 

We have a problem because the driver match the board incorrectly, but
the driver just trusts PCI vendor and device IDs. Here is waht pcictl
tells me:

    Vendor Name: Ensoniq (0x1274)
    Device Name: AudioPCI 97 (0x1371)
(snip)
    Class Name: multimedia (0x04)
    Subclass Name: audio (0x01)
    Interface: 0x00
    Revision ID: 0x08
(snip)
    Subsystem vendor ID: 0x1274
    Subsystem ID: 0x1371

What is the proper way of fixing this? As David Young suggested, I could
use the revision ID, but how can I be sure that will not break the match
for another board?

--
Emmanuel Dreyfus
manu@netbsd.org