mmc: dw_mmc: Fixed sdio interrupt mask bit setting bug
authorKyoungil Kim <ki0351.kim@samsung.com>
Mon, 14 May 2012 08:38:48 +0000 (17:38 +0900)
committerChris Ball <cjb@laptop.org>
Thu, 17 May 2012 12:34:48 +0000 (08:34 -0400)
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 <ki0351.kim@samsung.com>
Acked-by: Shashidhar Hiremath <shashidharh@vayavyalabs.com>
Acked-by: Will Newton <will.newton@imgtec.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/dw_mmc.c

index 1532357..9bbf45f 100644 (file)
@@ -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)));
        }
 }