summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/dw_mmc-pltfm.c
diff options
context:
space:
mode:
authorChaotian Jing <chaotian.jing@mediatek.com>2015-11-30 09:27:30 +0800
committerUlf Hansson <ulf.hansson@linaro.org>2015-12-22 11:32:18 +0100
commit3bbb0deea6d5c6d5ed38ae927a5bf9b0cd7c8639 (patch)
treee1af5a6ec3b17d99f86fa42c6c39563b01602197 /drivers/mmc/host/dw_mmc-pltfm.c
parent05caee939f8d58d81e962071da85761e1e3a4c73 (diff)
downloadblackbird-op-linux-3bbb0deea6d5c6d5ed38ae927a5bf9b0cd7c8639.tar.gz
blackbird-op-linux-3bbb0deea6d5c6d5ed38ae927a5bf9b0cd7c8639.zip
mmc: core: fix __mmc_switch timeout caused by preempt
there is a time window between __mmc_send_status() and time_afer(), on some eMMC chip, the timeout_ms is only 10ms, if this thread was scheduled out during this period, then, even card has already changes to transfer state by the result of CMD13, this part of code also treat it to timeout error. So, need calculate timeout first, then call __mmc_send_status(), if already timeout and card still in programing state, then treat it to the real timeout error. Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host/dw_mmc-pltfm.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud