summaryrefslogtreecommitdiff
path: root/drivers/mmc/core/core.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2020-03-31 08:15:47 +0300
committerDave Airlie <airlied@redhat.com>2020-03-31 08:15:47 +0300
commit5fc0df93fccd4dc8412bfc488ba4ba8268aa12dc (patch)
tree6091ced63dbba747619762470ebba2298676ea0d /drivers/mmc/core/core.c
parent700d6ab987f3b5e28b13b5993e5a9a975c5604e2 (diff)
parent7111951b8d4973bda27ff663f2cf18b663d15b48 (diff)
downloadlinux-5fc0df93fccd4dc8412bfc488ba4ba8268aa12dc.tar.xz
Merge v5.6 into drm-next
msm needed rc6, so I just went and merged release (msm has been in drm-next outside of this tree) Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/mmc/core/core.c')
-rw-r--r--drivers/mmc/core/core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index aa54d359dab7..a971c4bcc442 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -1732,8 +1732,11 @@ static int mmc_do_erase(struct mmc_card *card, unsigned int from,
* the erase operation does not exceed the max_busy_timeout, we should
* use R1B response. Or we need to prevent the host from doing hw busy
* detection, which is done by converting to a R1 response instead.
+ * Note, some hosts requires R1B, which also means they are on their own
+ * when it comes to deal with the busy timeout.
*/
- if (card->host->max_busy_timeout &&
+ if (!(card->host->caps & MMC_CAP_NEED_RSP_BUSY) &&
+ card->host->max_busy_timeout &&
busy_timeout > card->host->max_busy_timeout) {
cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_AC;
} else {