diff options
author | mjacob <mjacob@FreeBSD.org> | 2012-11-02 14:37:21 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2012-11-02 14:37:21 +0000 |
commit | 1e90b219abb5539017462c255b47d06acee58473 (patch) | |
tree | d15b8691d9cc2e068369c499b797261362b1f43f | |
parent | f16ea990070abd8c9cb42bfc7001ada604b4df01 (diff) | |
download | FreeBSD-src-1e90b219abb5539017462c255b47d06acee58473.zip FreeBSD-src-1e90b219abb5539017462c255b47d06acee58473.tar.gz |
Don't allow for more than one segment for the control space since
we're not set up to deal with that.
MFC after: 1 week
-rw-r--r-- | sys/dev/isp/isp_pci.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/dev/isp/isp_pci.c b/sys/dev/isp/isp_pci.c index 5309b0e..e0260d4 100644 --- a/sys/dev/isp/isp_pci.c +++ b/sys/dev/isp/isp_pci.c @@ -1524,7 +1524,7 @@ isp_pci_mbxdma(ispsoftc_t *isp) { caddr_t base; uint32_t len, nsegs; - int i, error, ns, cmap = 0; + int i, error, cmap = 0; bus_size_t slim; /* segment size */ bus_addr_t llim; /* low limit of unavailable dma */ bus_addr_t hlim; /* high limit of unavailable dma */ @@ -1633,13 +1633,12 @@ isp_pci_mbxdma(ispsoftc_t *isp) if (isp->isp_type >= ISP_HA_FC_2300) { len += (N_XCMDS * XCMD_SIZE); } - ns = (len / PAGE_SIZE) + 1; /* * Create a tag for the control spaces. We don't always need this * to be 32 bits, but we do this for simplicity and speed's sake. */ - if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, len, ns, slim, 0, &isp->isp_osinfo.cdmat)) { + if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, len, 1, slim, 0, &isp->isp_osinfo.cdmat)) { isp_prt(isp, ISP_LOGERR, "cannot create a dma tag for control spaces"); free(isp->isp_osinfo.pcmd_pool, M_DEVBUF); free(isp->isp_xflist, M_DEVBUF); |