Commit 3bc702ed authored by yong mao's avatar yong mao Committed by Ulf Hansson
Browse files

mmc: mediatek: correct the implementation of msdc_card_busy



msdc_card_busy only need check if the data0 is low.
In sdio data1 irq mode, data1 may be low because of interruption.

Signed-off-by: default avatarYong Mao <yong.mao@mediatek.com>
Signed-off-by: default avatarChaotian Jing <chaotian.jing@mediatek.com>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent e9acc77d
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -1075,11 +1075,8 @@ static int msdc_card_busy(struct mmc_host *mmc)
	struct msdc_host *host = mmc_priv(mmc);
	u32 status = readl(host->base + MSDC_PS);

	/* check if any pin between dat[0:3] is low */
	if (((status >> 16) & 0xf) != 0xf)
		return 1;

	return 0;
	/* only check if data0 is low */
	return !(status & BIT(16));
}

static void msdc_request_timeout(struct work_struct *work)