From: Kyoungil Kim Date: Mon, 14 May 2012 08:38:48 +0000 (+0900) Subject: mmc: dw_mmc: Fixed sdio interrupt mask bit setting bug X-Git-Tag: v3.5-rc1~85^2~7 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=705ad0472bd55fa38e6c594b2d6318c31e86068a;p=karo-tx-linux.git mmc: dw_mmc: Fixed sdio interrupt mask bit setting bug The sdio interrupt mask bits are arranged in [31:16]. (1 << SDMMC_INT_SDIO(slot->id))) does 16 bits left shift twice. So this patch changes to do 16 bits left shift only one time. Signed-off-by: Kyoungil Kim Acked-by: Shashidhar Hiremath Acked-by: Will Newton Signed-off-by: Chris Ball --- diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 1532357787cb..9bbf45f8c538 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -857,10 +857,10 @@ static void dw_mci_enable_sdio_irq(struct mmc_host *mmc, int enb) int_mask = mci_readl(host, INTMASK); if (enb) { mci_writel(host, INTMASK, - (int_mask | (1 << SDMMC_INT_SDIO(slot->id)))); + (int_mask | SDMMC_INT_SDIO(slot->id))); } else { mci_writel(host, INTMASK, - (int_mask & ~(1 << SDMMC_INT_SDIO(slot->id)))); + (int_mask & ~SDMMC_INT_SDIO(slot->id))); } }