nvme-pci: take sglist coalescing in dma_map_sg into account
authorChristoph Hellwig <hch@lst.de>
Wed, 17 Jan 2018 21:04:38 +0000 (22:04 +0100)
committerJens Axboe <axboe@kernel.dk>
Wed, 17 Jan 2018 21:05:35 +0000 (14:05 -0700)
commitb0f2853b56a2acaff19cca2c6a608f8ec268d21a
treeb37a803e6a8ca66d6cc831f2d1992b3f7ef33732
parent20469a37aed12a886d0deda5a07c04037923144a
nvme-pci: take sglist coalescing in dma_map_sg into account

Some iommu implementations can merge physically and/or virtually
contiguous segments inside sg_map_dma.  The NVMe SGL support does not take
this into account and will warn because of falling off a loop.  Pass the
number of mapped segments to nvme_pci_setup_sgls so that the SGL setup
can take the number of mapped segments into account.

Reported-by: Fangjian (Turing) <f.fangjian@huawei.com>
Fixes: a7a7cbe3 ("nvme-pci: add SGL support")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Sagi Grimberg <sagi@rimberg.me>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/host/pci.c