[PATCH 5/5] UBUNTU: SAUCE: nvme: Fix erroneous parameter to dma_map_sg_attrs()

Seth Forshee seth.forshee at canonical.com
Fri Nov 18 13:36:17 UTC 2016


On Wed, Nov 16, 2016 at 07:35:56AM -0700, Tim Gardner wrote:
> BugLink: http://bugs.launchpad.net/bugs/1637565
> 
> Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
> ---
>  drivers/nvme/host/pci.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 5256448..3931ceb 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -623,6 +623,7 @@ static int nvme_map_data(struct nvme_dev *dev, struct request *req,
>  	enum dma_data_direction dma_dir = rq_data_dir(req) ?
>  			DMA_TO_DEVICE : DMA_FROM_DEVICE;
>  	int ret = BLK_MQ_RQ_QUEUE_ERROR;
> +	DEFINE_DMA_ATTRS(attrs);

You also need this:

        dma_set_attr(DMA_ATTR_NO_WARN, &attrs);

>  
>  	sg_init_table(iod->sg, req->nr_phys_segments);
>  	iod->nents = blk_rq_map_sg(q, req, iod->sg);
> @@ -631,7 +632,7 @@ static int nvme_map_data(struct nvme_dev *dev, struct request *req,
>  
>  	ret = BLK_MQ_RQ_QUEUE_BUSY;
>  	if (!dma_map_sg_attrs(dev->dev, iod->sg, iod->nents, dma_dir,
> -				DMA_ATTR_NO_WARN))
> +				&attrs))
>  		goto out;
>  
>  	if (!nvme_setup_prps(dev, req, blk_rq_bytes(req)))
> -- 
> 2.7.4
> 
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team




More information about the kernel-team mailing list