mmc: rtsx_usb_sdmmc: Avoid keeping the device runtime resumed when unused
authorUlf Hansson <ulf.hansson@linaro.org>
Tue, 27 Sep 2016 15:44:33 +0000 (08:44 -0700)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 17 Oct 2016 13:42:25 +0000 (15:42 +0200)
The rtsx_usb_sdmmc driver may bail out in its ->set_ios() callback when no
SD card is inserted. This is wrong, as it could cause the device to remain
runtime resumed when it's unused. Fix this behaviour.

Tested-by: Ritesh Raj Sarraf <rrs@researchut.com>
Cc: <stable@vger.kernel.org>
Cc: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/rtsx_usb_sdmmc.c

index 4106295527b9d0c5a4128f44e09c190791328ca9..e0b85904c9bbbd6b7ea174dc5f02efdcdc6bdf48 100644 (file)
@@ -1138,11 +1138,6 @@ static void sdmmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
        dev_dbg(sdmmc_dev(host), "%s\n", __func__);
        mutex_lock(&ucr->dev_mutex);
 
-       if (rtsx_usb_card_exclusive_check(ucr, RTSX_USB_SD_CARD)) {
-               mutex_unlock(&ucr->dev_mutex);
-               return;
-       }
-
        sd_set_power_mode(host, ios->power_mode);
        sd_set_bus_width(host, ios->bus_width);
        sd_set_timing(host, ios->timing, &host->ddr_mode);