Re: [PATCH 02/11] atmel-mci: conform to DMA-API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le 10/02/2011 16:08, Linus Walleij :
> Fixes the following:
> - It is perfectly legal for the dma_map_sg() to return fewer
>   entries than were passed in.
> - Supply the returned numer of (possibly coalesced) entries to
>   the device_pre_slave_sg() function.
> - Use the proper original sg_len when unmapping the sglist
>   in the error path.
> 
> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>

> ---
>  drivers/mmc/host/atmel-mci.c |    7 +++----
>  1 files changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
> index 045bdbb..df5a135 100644
> --- a/drivers/mmc/host/atmel-mci.c
> +++ b/drivers/mmc/host/atmel-mci.c
> @@ -687,10 +687,9 @@ atmci_prepare_data_dma(struct atmel_mci *host, struct mmc_data *data)
>  
>  	sglen = dma_map_sg(chan->device->dev, data->sg,
>  			   data->sg_len, direction);
> -	if (sglen != data->sg_len)
> -		goto unmap_exit;
> +
>  	desc = chan->device->device_prep_slave_sg(chan,
> -			data->sg, data->sg_len, direction,
> +			data->sg, sglen, direction,
>  			DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
>  	if (!desc)
>  		goto unmap_exit;
> @@ -701,7 +700,7 @@ atmci_prepare_data_dma(struct atmel_mci *host, struct mmc_data *data)
>  
>  	return 0;
>  unmap_exit:
> -	dma_unmap_sg(chan->device->dev, data->sg, sglen, direction);
> +	dma_unmap_sg(chan->device->dev, data->sg, data->sg_len, direction);
>  	return -ENOMEM;
>  }
>  


-- 
Nicolas Ferre
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux