mmc: dw_mmc: fix dw_mci_get_cd
authorZhangfei Gao <zhangfei.gao@linaro.org>
Thu, 16 Jan 2014 12:48:47 +0000 (20:48 +0800)
committerChris Ball <chris@printf.net>
Fri, 17 Jan 2014 14:21:38 +0000 (09:21 -0500)
commit7cf347bd20ec8169add381ad23f9fb25c6c076f0
treeae046124b883b03f346b2275aa38bddcb5f10cd7
parent85136b74dc7fbbcaf173b660406de8aa1dd0068a
mmc: dw_mmc: fix dw_mci_get_cd

bf626e5550f24aec ("mmc: dw_mmc: use slot-gpio to handle cd pin") caused
CDETECT to be ignored, since negated return value of mmc_gpio_get_cd(mmc)
can not be checked by IS_ERR_VALUE.

Also, add spin_lock_bh(&host->lock) for atomic access to
DW_MMC_CARD_PRESENT, otherwise sd detect may occasionally fail.

Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Reported-by: Kevin Hilman <khilman@linaro.org>
Reviewed-by: Sachin Kamat <sachin.kamat@linaro.org>
Tested-by: Sachin Kamat <sachin.kamat@linaro.org>
Tested-by: Kevin Hilman <khilman@linaro.org>
Acked-by: Seungwon Jeon <tgih.jun@samsung.com>
Signed-off-by: Chris Ball <chris@printf.net>
drivers/mmc/host/dw_mmc.c