From: Jaehoon Chung Date: Fri, 13 May 2016 14:37:44 +0000 (+0900) Subject: mmc: dw_mmc: fix the wrong AND operation X-Git-Tag: v2016.07-rc3~23^2 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ca2ec9adc951cc3798e9b0c3773cdcc613232a22;p=oweals%2Fu-boot.git mmc: dw_mmc: fix the wrong AND operation These condition checking are wrong. Original Author's intention might be "&" instead of "&&". It can know whether receive or transmit data request with BIT[4]/BIT[5] of RINTSTS register. Signed-off-by: Jaehoon Chung Signed-off-by: Minkyu Kang --- diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c index 74a2663c8b..af6e04aa28 100644 --- a/drivers/mmc/dw_mmc.c +++ b/drivers/mmc/dw_mmc.c @@ -121,7 +121,7 @@ static int dwmci_data_transfer(struct dwmci_host *host, struct mmc_data *data) if (host->fifo_mode && size) { if (data->flags == MMC_DATA_READ) { - if ((dwmci_readl(host, DWMCI_RINTSTS) && + if ((dwmci_readl(host, DWMCI_RINTSTS) & DWMCI_INTMSK_RXDR)) { len = dwmci_readl(host, DWMCI_STATUS); len = (len >> DWMCI_FIFO_SHIFT) & @@ -133,7 +133,7 @@ static int dwmci_data_transfer(struct dwmci_host *host, struct mmc_data *data) DWMCI_INTMSK_RXDR); } } else { - if ((dwmci_readl(host, DWMCI_RINTSTS) && + if ((dwmci_readl(host, DWMCI_RINTSTS) & DWMCI_INTMSK_TXDR)) { len = dwmci_readl(host, DWMCI_STATUS); len = fifo_depth - ((len >>