aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorBen Dooks <ben@simtec.co.uk>2009-10-01 15:44:16 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-10-01 16:11:15 -0700
commite6130aeffd93d342e72ca85cfd335d066f680792 (patch)
tree7e1c1a6b7ef1bd048f4d46f1c5f51f482cf60f93 /drivers/mmc
parent50d7fa9aa4183be2575bba24dd1a7651a3923fba (diff)
downloadkernel_samsung_aries-e6130aeffd93d342e72ca85cfd335d066f680792.zip
kernel_samsung_aries-e6130aeffd93d342e72ca85cfd335d066f680792.tar.gz
kernel_samsung_aries-e6130aeffd93d342e72ca85cfd335d066f680792.tar.bz2
s3cmci: fix direct write to interrupt mask
The clear_imask() call should be used to clear the interrupt mask register, as it may end up clearing the SDIO interrupt bit if this is enabled. Change all writes of zero to SDIIMSK register to use clear_imask() ready for the SDIO updates. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Cc: <linux-mmc@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/s3cmci.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c
index 6e40845..28a4a45 100644
--- a/drivers/mmc/host/s3cmci.c
+++ b/drivers/mmc/host/s3cmci.c
@@ -681,9 +681,9 @@ out:
fail_request:
host->mrq->data->error = -EINVAL;
host->complete_what = COMPLETION_FINALIZE;
- writel(0, host->base + host->sdiimsk);
- goto out;
+ clear_imask(host);
+ goto out;
}
static void finalize_request(struct s3cmci_host *host)
@@ -726,7 +726,7 @@ static void finalize_request(struct s3cmci_host *host)
writel(0, host->base + S3C2410_SDICMDARG);
writel(S3C2410_SDIDCON_STOP, host->base + S3C2410_SDIDCON);
writel(0, host->base + S3C2410_SDICMDCON);
- writel(0, host->base + host->sdiimsk);
+ clear_imask(host);
if (cmd->data && cmd->error)
cmd->data->error = cmd->error;