mmc: rtsx_usb: Use the provided busy timeout from the mmc core
authorUlf Hansson <ulf.hansson@linaro.org>
Wed, 2 May 2018 11:55:17 +0000 (13:55 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 8 May 2018 07:43:26 +0000 (09:43 +0200)
Instead of using a fixed 3s timeout for commands with R1B responses,
convert to use the per request calculated busy timeout from the mmc core.

This is needed to cope with requests that requires longer timeout, for
example erase/discard commands.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: MichaƂ Pecio <michal.pecio@gmail.com>
drivers/mmc/host/rtsx_usb_sdmmc.c

index f9faa98c54651e0fb59c074e1119a37df31bbbee..560614c5934ec68742f069fef99b7e144e7d79bb 100644 (file)
@@ -342,7 +342,7 @@ static void sd_send_cmd_get_rsp(struct rtsx_usb_sdmmc *host,
        }
 
        if (rsp_type == SD_RSP_TYPE_R1b)
-               timeout = 3000;
+               timeout = cmd->busy_timeout ? cmd->busy_timeout : 3000;
 
        if (cmd->opcode == SD_SWITCH_VOLTAGE) {
                err = rtsx_usb_write_register(ucr, SD_BUS_STAT,