mmc: sdhci: not return error when SDMA is not supported
authorJaehoon Chung <jh80.chung@samsung.com>
Fri, 27 Mar 2020 04:08:01 +0000 (13:08 +0900)
committerMatthias Brugger <mbrugger@suse.com>
Tue, 12 May 2020 09:01:14 +0000 (11:01 +0200)
If Host controller doesn't support SDMA, it doesn't need to return
error. Because it can be worked with PIO mode.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
drivers/mmc/sdhci.c

index 480fad37ed82b57f81f7fb4acbdc37ac7bf1549c..6e8f6e3d179ff13cb7a4ada8056e0be805555fa8 100644 (file)
@@ -741,13 +741,12 @@ int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host,
        debug("%s, caps: 0x%x\n", __func__, caps);
 
 #ifdef CONFIG_MMC_SDHCI_SDMA
-       if (!(caps & SDHCI_CAN_DO_SDMA)) {
+       if ((caps & SDHCI_CAN_DO_SDMA)) {
+               host->flags |= USE_SDMA;
+       } else {
                printf("%s: Your controller doesn't support SDMA!!\n",
                       __func__);
-               return -EINVAL;
        }
-
-       host->flags |= USE_SDMA;
 #endif
 #if CONFIG_IS_ENABLED(MMC_SDHCI_ADMA)
        if (!(caps & SDHCI_CAN_DO_ADMA2)) {