summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorThomas Kleffel <tk@maintech.de>2008-06-30 23:40:27 +0200
committerPierre Ossman <drzeus@drzeus.cx>2008-07-15 14:14:46 +0200
commitbdbc9c3a8f7a7956611c970e262693faa95081a5 (patch)
treebea8dbbca97e548ac49a738a6162c86de229d139 /drivers/mmc
parentMMC: DMA free fix for S3C24XX SD/MMC driver (diff)
downloadlinux-bdbc9c3a8f7a7956611c970e262693faa95081a5.tar.xz
linux-bdbc9c3a8f7a7956611c970e262693faa95081a5.zip
Fix the request finalisation by ensuring the controller
is stopped. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Harald Welte <laforge@openmoko.org> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/s3cmci.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c
index 6070f36139bd..8c68b2e0dd6e 100644
--- a/drivers/mmc/host/s3cmci.c
+++ b/drivers/mmc/host/s3cmci.c
@@ -677,7 +677,7 @@ static void finalize_request(struct s3cmci_host *host)
/* Cleanup controller */
writel(0, host->base + S3C2410_SDICMDARG);
- writel(0, host->base + S3C2410_SDIDCON);
+ writel(S3C2410_SDIDCON_STOP, host->base + S3C2410_SDIDCON);
writel(0, host->base + S3C2410_SDICMDCON);
writel(0, host->base + host->sdiimsk);
@@ -803,7 +803,7 @@ static int s3cmci_setup_data(struct s3cmci_host *host, struct mmc_data *data)
dbg(host, dbg_err,
"mci_setup_data() transfer stillin progress.\n");
- writel(0, host->base + S3C2410_SDIDCON);
+ writel(S3C2410_SDIDCON_STOP, host->base + S3C2410_SDIDCON);
s3cmci_reset(host);
if ((stoptries--) == 0) {