]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mmc: rtsx_usb: Use MMC_CAP2_NO_SDIO
authorUlf Hansson <ulf.hansson@linaro.org>
Wed, 2 May 2018 11:31:37 +0000 (13:31 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 8 May 2018 07:43:15 +0000 (09:43 +0200)
Instead of having to return -EINVAL when requested to send SDIO specific
commands, let's set MMC_CAP2_NO_SDIO as it completely prevents them.

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 78422079ecfa425689bbdcf3882dfbe11afc694a..f9faa98c54651e0fb59c074e1119a37df31bbbee 100644 (file)
@@ -26,7 +26,6 @@
 #include <linux/mmc/host.h>
 #include <linux/mmc/mmc.h>
 #include <linux/mmc/sd.h>
-#include <linux/mmc/sdio.h>
 #include <linux/mmc/card.h>
 #include <linux/scatterlist.h>
 #include <linux/pm_runtime.h>
@@ -839,17 +838,6 @@ static void sdmmc_request(struct mmc_host *mmc, struct mmc_request *mrq)
                goto finish_detect_card;
        }
 
-       /*
-        * Reject SDIO CMDs to speed up card identification
-        * since unsupported
-        */
-       if (cmd->opcode == SD_IO_SEND_OP_COND ||
-           cmd->opcode == SD_IO_RW_DIRECT ||
-           cmd->opcode == SD_IO_RW_EXTENDED) {
-               cmd->error = -EINVAL;
-               goto finish;
-       }
-
        mutex_lock(&ucr->dev_mutex);
 
        mutex_lock(&host->host_mutex);
@@ -1333,7 +1321,8 @@ static void rtsx_usb_init_host(struct rtsx_usb_sdmmc *host)
                MMC_CAP_MMC_HIGHSPEED | MMC_CAP_BUS_WIDTH_TEST |
                MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25 | MMC_CAP_UHS_SDR50 |
                MMC_CAP_NEEDS_POLL;
-       mmc->caps2 = MMC_CAP2_NO_PRESCAN_POWERUP | MMC_CAP2_FULL_PWR_CYCLE;
+       mmc->caps2 = MMC_CAP2_NO_PRESCAN_POWERUP | MMC_CAP2_FULL_PWR_CYCLE |
+               MMC_CAP2_NO_SDIO;
 
        mmc->max_current_330 = 400;
        mmc->max_current_180 = 800;