When performing our register test, be careful
commitec8dfadf39c9e1d3fbd468d811712409f86b280a
authorpavalos <pavalos>
Thu, 5 Jul 2007 05:17:39 +0000 (5 05:17 +0000)
committerpavalos <pavalos>
Thu, 5 Jul 2007 05:17:39 +0000 (5 05:17 +0000)
tree81e53f9a33d702a9f41f9607f188bab372987393
parent52407a2e0c53f980d0c3028ed5d2ec043c80a195
When performing our register test, be careful
to avoid resetting the chip when pausing the
controller.  The test reads the HCNTRL register
and then writes it back with the PAUSE bit
explicitly set.  If the last write to the controller
before our probe is to reset it, the CHIPRST
bit will still be set, so we must mask it off
before the PAUSE operation.  On some chip versions,
we cannot access registers for a few 100us after
a reset, so this inadvertant reset was causing PCI
errors to occur on the read to check for paused
status.

Obtained-from: FreeBSD
sys/dev/disk/aic7xxx/aic79xx_pci.c
sys/dev/disk/aic7xxx/aic7xxx_pci.c