aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@stericsson.com>2012-02-24 15:37:27 +0100
committerPhilippe Langlais <philippe.langlais@linaro.org>2012-03-06 17:30:18 +0100
commit78d5f49e03c98593c35cd19104a6d41e804ab15d (patch)
tree92b5eaa78ddd5ff88959a783167696f5f9fb2c67
parent05052d68e2ec3f3f4a057fd12d9b66c7a0c885b8 (diff)
mmc: mmci: Fixup post error handling for dma
The next pointers for the next dma job needs to be reset when an error occurs. Change-Id: Ieae63ccb97b11c0f6edb7b383c84259082b83760 Signed-off-by: Ulf Hansson <ulf.hansson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/50454 Reviewed-by: Per FORLIN <per.forlin@stericsson.com> Reviewed-by: QABUILD
-rw-r--r--drivers/mmc/host/mmci.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 5b4135fa9c3..fdf7d8f894e 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -606,12 +606,16 @@ static void mmci_post_request(struct mmc_host *mmc, struct mmc_request *mrq,
mmci_dma_unmap(host, data);
if (err) {
+ struct mmci_host_next *next = &host->next_data;
struct dma_chan *chan;
if (data->flags & MMC_DATA_READ)
chan = host->dma_rx_channel;
else
chan = host->dma_tx_channel;
dmaengine_terminate_all(chan);
+
+ next->dma_desc = NULL;
+ next->dma_chan = NULL;
}
}