[PATCH 2/2] nvme: blk_rq_dma_map_iter_next is no longer using iova state
Damien Le Moal
dlemoal at kernel.org
Mon Jan 12 06:08:38 PST 2026
On 1/12/26 14:57, Nitesh Shetty wrote:
> DMA IOVA state is not used inside blk_rq_dma_map_iter_next
>
> Signed-off-by: Nitesh Shetty <nj.shetty at samsung.com>
> ---
> drivers/nvme/host/pci.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 3b528369f5454..065555576d2f9 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -823,7 +823,7 @@ static bool nvme_pci_prp_iter_next(struct request *req, struct device *dma_dev,
>
> if (iter->len)
> return true;
> - if (!blk_rq_dma_map_iter_next(req, dma_dev, &iod->dma_state, iter))
> + if (!blk_rq_dma_map_iter_next(req, dma_dev, iter))
Hu... Why is this not squashed with the previous patch ? If only patch 1 is
applied, this will not compile, right ?
> return false;
> if (!dma_use_iova(&iod->dma_state) && dma_need_unmap(dma_dev)) {
> iod->dma_vecs[iod->nr_dma_vecs].addr = iter->addr;
> @@ -1010,8 +1010,7 @@ static blk_status_t nvme_pci_setup_data_sgl(struct request *req,
> }
> nvme_pci_sgl_set_data(&sg_list[mapped++], iter);
> iod->total_len += iter->len;
> - } while (blk_rq_dma_map_iter_next(req, nvmeq->dev->dev, &iod->dma_state,
> - iter));
> + } while (blk_rq_dma_map_iter_next(req, nvmeq->dev->dev, iter));
>
> nvme_pci_sgl_set_seg(&iod->cmd.common.dptr.sgl, sgl_dma, mapped);
> if (unlikely(iter->status))
--
Damien Le Moal
Western Digital Research
More information about the Linux-nvme
mailing list