summaryrefslogtreecommitdiffstats
path: root/sys/dev/aic7xxx
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>2002-10-16 02:59:03 +0000
committergibbs <gibbs@FreeBSD.org>2002-10-16 02:59:03 +0000
commit5e3507cec06e50fad944b35877be42a117f70ebb (patch)
tree9203ee16a690f0225362fada4cb866bbd5e48189 /sys/dev/aic7xxx
parent360cbf1ce320a0ace36542f57a535c3ce5bb75e2 (diff)
downloadFreeBSD-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.
Diffstat (limited to 'sys/dev/aic7xxx')
-rw-r--r--sys/dev/aic7xxx/ahd_pci.c6
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;
OpenPOWER on IntegriCloud