s3cmci: fix direct write to interrupt mask
PATCH 22/42 s3cmci: fix direct write to interrupt mask
From: Ben Dooks <[email protected]>
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 <[email protected]>
Cc <[email protected]>
Signed-off-by Andrew Morton <[email protected]>
---
drivers/mmc/host/s3cmci.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/mmc/host/s3cmci.c renamed from drivers/mmc/host/s3cmci.c~s3cmci-fix-direct-write-to-interrupt-mask +3 -3
@@ -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 s3cmwritel (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;
_