Correct the boundary parameter to the bus_dma_tag_create() calls (it was
(1 << 24) - 2 instead of 1 << 24, which it was obviously intended to be). This fixes SBus isp(4)s on sparc64 machines. Report and testing: Marius Strobl <marius@alchemy.franken.de>
This commit is contained in:
parent
3e091039ee
commit
eb01b42587
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=127346
@ -489,7 +489,7 @@ isp_sbus_mbxdma(struct ispsoftc *isp)
|
||||
|
||||
ISP_UNLOCK(isp);
|
||||
|
||||
if (bus_dma_tag_create(NULL, 1, BUS_SPACE_MAXADDR_24BIT-1,
|
||||
if (bus_dma_tag_create(NULL, 1, BUS_SPACE_MAXADDR_24BIT+1,
|
||||
BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR_32BIT,
|
||||
NULL, NULL, BUS_SPACE_MAXSIZE_32BIT, ISP_NSEGS,
|
||||
BUS_SPACE_MAXADDR_24BIT, 0, busdma_lock_mutex, &Giant,
|
||||
@ -522,7 +522,7 @@ isp_sbus_mbxdma(struct ispsoftc *isp)
|
||||
len += ISP_QUEUE_SIZE(RESULT_QUEUE_LEN(isp));
|
||||
|
||||
ns = (len / PAGE_SIZE) + 1;
|
||||
if (bus_dma_tag_create(sbs->dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT-1,
|
||||
if (bus_dma_tag_create(sbs->dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1,
|
||||
BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR_32BIT, NULL, NULL,
|
||||
len, ns, BUS_SPACE_MAXADDR_24BIT, 0, busdma_lock_mutex, &Giant,
|
||||
&isp->isp_cdmat)) {
|
||||
|
Loading…
Reference in New Issue
Block a user