summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@stericsson.com>2012-02-24 15:37:27 +0100
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:03:01 +0200
commitc3921020050e5a2d4c09cc3709ac1e192e399b69 (patch)
tree030a51db6fbeaf4c95f022d32fdd86d77d9da274
parent004eb1db89e61c558d0d8f50e46e21d1aaaea36e (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 501227da03e..1dc8d379e4d 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -608,12 +608,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;
}
}