UPSTREAM: mmc: mmc: use ops->card_busy() to check card status in __mmc_switch()
some MMC host do not support MMC_CAP_WAIT_WHILE_BUSY but provides
ops->card_busy(), So, add this method to check card status after
switch command.
This patch also fix CMD23 command response timeout which found on
evb-rk3288.
[ 13.725563 ] mmcblk0: timed out sending SET_BLOCK_COUNT
command,card status 0x400e00
[ 13.733328 ] mmcblk0: command error, retrying timeout
[ 13.741792 ] mmcblk0: timed out sending SET_BLOCK_COUNT command,card
status 0x400e00
[ 13.749555 ] mmcblk0: command error, retrying timeout
[ 13.758246 ] mmcblk0: timed out sending SET_BLOCK_COUNT command,card
status 0x400e00
(cherry picked from commit
87a18a6a565271a886d48df49e5e27ba99e26c60)
Change-Id: I7e1b0f0001639e0b43d4a6951148ed5f625e18dd
Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>