diff options
author | mjacob <mjacob@FreeBSD.org> | 2007-06-11 17:56:17 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2007-06-11 17:56:17 +0000 |
commit | 81c02b19a4d06cefe0267b411492630c6d1a15ca (patch) | |
tree | 54604fce3b10468c609d879006fea8ce44699da6 /sys/dev/isp/isp_pci.c | |
parent | e42a97f12ae3857e3ba3996cdea7f492056368c1 (diff) | |
download | FreeBSD-src-81c02b19a4d06cefe0267b411492630c6d1a15ca.zip FreeBSD-src-81c02b19a4d06cefe0267b411492630c6d1a15ca.tar.gz |
Only try and set a segment lim size to 1 << 32 iff bus_size_t > 4.
Diffstat (limited to 'sys/dev/isp/isp_pci.c')
-rw-r--r-- | sys/dev/isp/isp_pci.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/isp/isp_pci.c b/sys/dev/isp/isp_pci.c index 63838c6..0d862fc 100644 --- a/sys/dev/isp/isp_pci.c +++ b/sys/dev/isp/isp_pci.c @@ -1712,11 +1712,15 @@ isp_pci_mbxdma(ispsoftc_t *isp) hlim = BUS_SPACE_MAXADDR; if (IS_ULTRA2(isp) || IS_FC(isp) || IS_1240(isp)) { - slim = (bus_size_t) (1ULL << 32); + if (sizeof (bus_size_t) > 4) { + slim = (bus_size_t) (1ULL << 32); + } else { + slim = (bus_size_t) (1UL << 31); + } llim = BUS_SPACE_MAXADDR; } else { llim = BUS_SPACE_MAXADDR_32BIT; - slim = (1 << 24); + slim = (1UL << 24); } len = isp->isp_maxcmds * sizeof (struct isp_pcmd); |