[PATCH RESEND] omap_hsmmc: use original sg_len for dma_unmap_sg

Chris Ball cjb at laptop.org
Sat Jun 18 23:20:25 EDT 2011


Hi Per,

On Fri, Jun 17 2011, Per Forlin wrote:
> Don't use the returned sg_len from dma_map_sg() as inparameter
> to dma_unmap_sg(). Use the original sg_len for both dma_map_sg
> and dma_unmap_sg according to the documentation in DMA-API.txt.
>
> Signed-off-by: Per Forlin <per.forlin at linaro.org>
> Reviewed-by: Venkatraman S <svenkatr at ti.com>
> ---
>  drivers/mmc/host/omap_hsmmc.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index 259ece0..ad3731a 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -959,7 +959,8 @@ static void omap_hsmmc_dma_cleanup(struct omap_hsmmc_host *host, int errno)
>  	spin_unlock(&host->irq_lock);
>  
>  	if (host->use_dma && dma_ch != -1) {
> -		dma_unmap_sg(mmc_dev(host->mmc), host->data->sg, host->dma_len,
> +		dma_unmap_sg(mmc_dev(host->mmc), host->data->sg,
> +			host->data->sg_len,
>  			omap_hsmmc_get_dma_dir(host, host->data));
>  		omap_free_dma(dma_ch);
>  	}
> @@ -1343,7 +1344,7 @@ static void omap_hsmmc_dma_cb(int lch, u16 ch_status, void *cb_data)
>  		return;
>  	}
>  
> -	dma_unmap_sg(mmc_dev(host->mmc), data->sg, host->dma_len,
> +	dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
>  		omap_hsmmc_get_dma_dir(host, data));
>  
>  	req_in_progress = host->req_in_progress;

Pushed to mmc-next for 3.0-rc, thanks.

- Chris.
-- 
Chris Ball   <cjb at laptop.org>   <http://printf.net/>
One Laptop Per Child



More information about the linux-arm-kernel mailing list