OSDN Git Service

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 f9faa98..560614c 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,