diff options
author | Per Forlin <per.forlin@linaro.org> | 2011-06-17 20:14:21 +0200 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2011-06-25 18:51:28 -0400 |
commit | a9120c33ffbb0b3448d833dae392edc90d6cfac2 (patch) | |
tree | 8ea12aea362f9e5980926c1f1b2faae1425bd67b | |
parent | 4a3dc6ef344ccfe80bf986aec0b05f51af000720 (diff) | |
download | linux-a9120c33ffbb0b3448d833dae392edc90d6cfac2.tar.gz linux-a9120c33ffbb0b3448d833dae392edc90d6cfac2.tar.bz2 linux-a9120c33ffbb0b3448d833dae392edc90d6cfac2.zip |
mmc: omap_hsmmc: use original sg_len for dma_unmap_sg
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@linaro.org>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
-rw-r--r-- | 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 8707bcdebc43..dedf3dab8a3b 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c @@ -961,7 +961,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); } @@ -1345,7 +1346,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; |