]> git.baikalelectronics.ru Git - kernel.git/commit
mmc: block: Fixup busy detection while invoking stop cmd at recovery
authorUlf Hansson <ulf.hansson@linaro.org>
Tue, 14 Jan 2014 20:31:35 +0000 (21:31 +0100)
committerChris Ball <chris@printf.net>
Sun, 23 Feb 2014 15:41:11 +0000 (10:41 -0500)
commita238ff67382358b8e25fc1aab8c6a8c6baf3c674
tree2a2ff4d4f77b1e82d115ce9b44cae87b4f919805
parenteaad8c7f079c95722b64f7d7ddaf65427024f08a
mmc: block: Fixup busy detection while invoking stop cmd at recovery

When sending a stop command at the recovery path, use a R1B response
when the failing data request are a WRITE. Thus we also care about the
busy detection completion in this case.

For a failing READ request, we use a R1 response for the stop command,
since we don't need to care about busy detection in this case.

To align behavior between hosts supporting MMC_CAP_WAIT_WHILE_BUSY and
those who are not, we add a CMD13 polling method for the card's status.

We also respect whether the host has specified the max_busy_timeout,
which means we may fallback to CMD13 polling if the timeout is greater
than what the host are able to support.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <chris@printf.net>
drivers/mmc/card/block.c