In mmc_davinci_xfer_done() function data direction variable is being modified before the call to davinci_abort_dma(). But inside the davinci_abort_dma() function data direction variable is being checked to select the channel to abort.
Without this patch, davinci_abort_dma() function always aborts, TX channel dma. Signed-off-by: Sudhakar Rajashekhara <[email protected]> Acked-by: Vipin Bhandari <[email protected]> --- This patch applies to davinci git. This patch will be re-submitted for mainline kernel once Vipin's MMC support patch is accepted there. If Vipin needs to rework on that patch, then this patch will be folded with that. drivers/mmc/host/davinci_mmc.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c index 8907b72..6c76f64 100644 --- a/drivers/mmc/host/davinci_mmc.c +++ b/drivers/mmc/host/davinci_mmc.c @@ -827,7 +827,6 @@ static void mmc_davinci_xfer_done(struct mmc_davinci_host *host, struct mmc_data *data) { host->data = NULL; - host->data_dir = DAVINCI_MMC_DATADIR_NONE; if (host->do_dma) { davinci_abort_dma(host); @@ -838,6 +837,7 @@ mmc_davinci_xfer_done(struct mmc_davinci_host *host, struct mmc_data *data) : DMA_FROM_DEVICE); host->do_dma = false; } + host->data_dir = DAVINCI_MMC_DATADIR_NONE; if (!data->stop || (host->cmd && host->cmd->error)) { mmc_request_done(host->mmc, data->mrq); -- 1.5.6 _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
