diff options
author | gibbs <gibbs@FreeBSD.org> | 2002-10-16 02:59:03 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 2002-10-16 02:59:03 +0000 |
commit | 5e3507cec06e50fad944b35877be42a117f70ebb (patch) | |
tree | 9203ee16a690f0225362fada4cb866bbd5e48189 | |
parent | 360cbf1ce320a0ace36542f57a535c3ce5bb75e2 (diff) | |
download | FreeBSD-src-5e3507cec06e50fad944b35877be42a117f70ebb.zip FreeBSD-src-5e3507cec06e50fad944b35877be42a117f70ebb.tar.gz |
Never allow memory mapped I/O in PCI-X mode on controllers that
do not support that configuration. This should fix problems with
embedded 7902 controllers running in PCI-X mode.
-rw-r--r-- | sys/dev/aic7xxx/ahd_pci.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/aic7xxx/ahd_pci.c b/sys/dev/aic7xxx/ahd_pci.c index 7229384..67b5459 100644 --- a/sys/dev/aic7xxx/ahd_pci.c +++ b/sys/dev/aic7xxx/ahd_pci.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: //depot/aic7xxx/freebsd/dev/aic7xxx/ahd_pci.c#6 $ + * $Id: //depot/aic7xxx/freebsd/dev/aic7xxx/ahd_pci.c#7 $ * * $FreeBSD$ */ @@ -156,7 +156,9 @@ ahd_pci_map_registers(struct ahd_softc *ahd) regs2 = NULL; regs_type = 0; regs_id = 0; - if ((command & PCIM_CMD_MEMEN) != 0) { + if ((command & PCIM_CMD_MEMEN) != 0 + && ((ahd->chip & AHD_BUS_MASK) != AHD_PCIX + || (ahd->bugs & AHD_PCIX_MMAPIO_BUG) == 0)) { regs_type = SYS_RES_MEMORY; regs_id = AHD_PCI_MEMADDR; |