fix device in programming state after ioctl()

From: Chaotian Jing
Date: Wed Sep 04 2019 - 03:54:58 EST

the user space program may access eMMC by ioctl(), after the ioctl() was
completed, it should ensure that eMMC is in transfer state, or it will
cause other thread which access eMMC got timeout error, as it assume that
card was in transfer state.

this patch add CMD13 polling for R1B command to avoid this issue.

Chaotian Jing (2):
mmc: block: make the card_busy_detect() more generic
mmc: block: add CMD13 polling for ioctl() cmd with R1B response

drivers/mmc/core/block.c | 111 ++++++++++++++++++++-------------------
1 file changed, 57 insertions(+), 54 deletions(-)