Commit d2ad8f0c authored by Jens Axboe's avatar Jens Axboe

Merge tag 'nvme-6.3-2023-02-15' of git://git.infradead.org/nvme into for-6.3/block

Pull NVMe fixes from Christoph:

"nvme fixes for Linux 6.3

 - fix and cleanup freeing single sgl (Keith Busch)"

* tag 'nvme-6.3-2023-02-15' of git://git.infradead.org/nvme:
  nvme-pci: remove iod use_sgls
  nvme-pci: fix freeing single sgl
parents a06377c5 b6c0c237
...@@ -230,7 +230,6 @@ union nvme_descriptor { ...@@ -230,7 +230,6 @@ union nvme_descriptor {
struct nvme_iod { struct nvme_iod {
struct nvme_request req; struct nvme_request req;
struct nvme_command cmd; struct nvme_command cmd;
bool use_sgl;
bool aborted; bool aborted;
s8 nr_allocations; /* PRP list pool allocations. 0 means small s8 nr_allocations; /* PRP list pool allocations. 0 means small
pool in use */ pool in use */
...@@ -556,7 +555,7 @@ static void nvme_unmap_data(struct nvme_dev *dev, struct request *req) ...@@ -556,7 +555,7 @@ static void nvme_unmap_data(struct nvme_dev *dev, struct request *req)
if (iod->nr_allocations == 0) if (iod->nr_allocations == 0)
dma_pool_free(dev->prp_small_pool, iod->list[0].sg_list, dma_pool_free(dev->prp_small_pool, iod->list[0].sg_list,
iod->first_dma); iod->first_dma);
else if (iod->use_sgl) else if (iod->nr_allocations == 1)
dma_pool_free(dev->prp_page_pool, iod->list[0].sg_list, dma_pool_free(dev->prp_page_pool, iod->list[0].sg_list,
iod->first_dma); iod->first_dma);
else else
...@@ -808,8 +807,7 @@ static blk_status_t nvme_map_data(struct nvme_dev *dev, struct request *req, ...@@ -808,8 +807,7 @@ static blk_status_t nvme_map_data(struct nvme_dev *dev, struct request *req,
goto out_free_sg; goto out_free_sg;
} }
iod->use_sgl = nvme_pci_use_sgls(dev, req, iod->sgt.nents); if (nvme_pci_use_sgls(dev, req, iod->sgt.nents))
if (iod->use_sgl)
ret = nvme_pci_setup_sgls(dev, req, &cmnd->rw); ret = nvme_pci_setup_sgls(dev, req, &cmnd->rw);
else else
ret = nvme_pci_setup_prps(dev, req, &cmnd->rw); ret = nvme_pci_setup_prps(dev, req, &cmnd->rw);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment