提交 e6130aef 编写于 作者: B Ben Dooks 提交者: Linus Torvalds

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: NBen Dooks <ben@simtec.co.uk>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 50d7fa9a
......@@ -681,9 +681,9 @@ static void s3cmci_dma_done_callback(struct s3c2410_dma_chan *dma_ch,
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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册