Do not explicitly set PCIM_CMD_SERRESPEN or PCIM_CMD_PERRESPEN. This was
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 8 Nov 2004 16:50:33 +0000 (16:50 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 8 Nov 2004 16:50:33 +0000 (16:50 +0000)
commit60955de8ed4d81bdfa25167b4506f1f1b7c80754
tree3fa32a307cbedb53121e5d2c887962f7a6d23a98
parentb6917040264772208d1c6409ea42c205a3d2c7c2
Do not explicitly set PCIM_CMD_SERRESPEN or PCIM_CMD_PERRESPEN.  This was
set in FreeBSD to try to catch device problems, but it looks like we actually
found a device that blows up with an NMI during fwohci_init() so we no longer
set these bits.  OpenBSD doesn't set it.

My theory is that the device is not clearing its internal memory leaving
some of it in a parity-adverse state, causing accesses to the uninitialized
memory to fail.  Alternatively the hardware is just plain broken, but it
seems to probe fine without the bit set so...

Gabor's-hardware:
AMD Athlon 64 3000+ based system.
fwohci0: <Texas Instruments TSB43AB21/A/AI/A-EP> mem
0xd0000000-0xd0003fff,0xd0008000-0xd00087ff irq 11 at device 6.0 on pci0
fwohci0: OHCI version 1.10 (ROM=1)
fwohci0: No. of Isochronous channel is 4.
fwohci0: EUI64 00:90:f5:00:00:32:10:37
fwohci0: Phy 1394a available S400, 1 ports.
fwohci0: Link S400, max_rec 2048 bytes.

NMI-Reported-by: Gabor MICSKO <trey@hup.hu>
sys/bus/firewire/fwohci_pci.c