diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/io/nvme/nvme.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr/src/uts/common/io/nvme/nvme.c b/usr/src/uts/common/io/nvme/nvme.c index 9fd95a1137..ae7f88c217 100644 --- a/usr/src/uts/common/io/nvme/nvme.c +++ b/usr/src/uts/common/io/nvme/nvme.c @@ -15,6 +15,7 @@ * Copyright (c) 2016 The MathWorks, Inc. All rights reserved. * Copyright 2018 Joyent, Inc. * Copyright 2019 Western Digital Corporation. + * Copyright 2020 Racktop Systems. */ /* @@ -3629,12 +3630,12 @@ nvme_fill_prp(nvme_cmd_t *cmd, bd_xfer_t *xfer) return (DDI_FAILURE); cmd->nc_sqe.sqe_dptr.d_prp[0] = xfer->x_dmac.dmac_laddress; - ddi_dma_nextcookie(xfer->x_dmah, &xfer->x_dmac); if (xfer->x_ndmac == 1) { cmd->nc_sqe.sqe_dptr.d_prp[1] = 0; return (DDI_SUCCESS); } else if (xfer->x_ndmac == 2) { + ddi_dma_nextcookie(xfer->x_dmah, &xfer->x_dmac); cmd->nc_sqe.sqe_dptr.d_prp[1] = xfer->x_dmac.dmac_laddress; return (DDI_SUCCESS); } @@ -3661,8 +3662,8 @@ nvme_fill_prp(nvme_cmd_t *cmd, bd_xfer_t *xfer) for (prp = (uint64_t *)cmd->nc_dma->nd_memp; xfer->x_ndmac > 0; prp++, xfer->x_ndmac--) { - *prp = xfer->x_dmac.dmac_laddress; ddi_dma_nextcookie(xfer->x_dmah, &xfer->x_dmac); + *prp = xfer->x_dmac.dmac_laddress; } (void) ddi_dma_sync(cmd->nc_dma->nd_dmah, 0, cmd->nc_dma->nd_len, |