summaryrefslogtreecommitdiffstats
path: root/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0422-mmc-core-mmc-Try-other-timings-if-the-higher-one-fai.patch
diff options
context:
space:
mode:
Diffstat (limited to 'bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0422-mmc-core-mmc-Try-other-timings-if-the-higher-one-fai.patch')
-rw-r--r--bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0422-mmc-core-mmc-Try-other-timings-if-the-higher-one-fai.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0422-mmc-core-mmc-Try-other-timings-if-the-higher-one-fai.patch b/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0422-mmc-core-mmc-Try-other-timings-if-the-higher-one-fai.patch
new file mode 100644
index 00000000..2225db0d
--- /dev/null
+++ b/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0422-mmc-core-mmc-Try-other-timings-if-the-higher-one-fai.patch
@@ -0,0 +1,45 @@
+From b0b23fee0c630e00e5a117a1fc48cf11de356822 Mon Sep 17 00:00:00 2001
+From: Valentine Barshak <valentine.barshak@cogentembedded.com>
+Date: Fri, 25 Oct 2019 00:59:49 +0300
+Subject: [PATCH] mmc: core: mmc: Try other timings if the higher one fails
+
+Do not bail out in case the higher supported timing
+setup fails. Try other supported timings as well.
+
+Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
+---
+ drivers/mmc/core/mmc.c | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
+index bad5c1b..c7c1c54 100644
+--- a/drivers/mmc/core/mmc.c
++++ b/drivers/mmc/core/mmc.c
+@@ -1473,12 +1473,21 @@ static int mmc_select_timing(struct mmc_card *card)
+ if (!mmc_can_ext_csd(card))
+ goto bus_speed;
+
+- if (card->mmc_avail_type & EXT_CSD_CARD_TYPE_HS400ES)
++ if (card->mmc_avail_type & EXT_CSD_CARD_TYPE_HS400ES) {
+ err = mmc_select_hs400es(card);
+- else if (card->mmc_avail_type & EXT_CSD_CARD_TYPE_HS200)
++ if (!err)
++ goto bus_speed;
++ }
++ if (card->mmc_avail_type & EXT_CSD_CARD_TYPE_HS200) {
+ err = mmc_select_hs200(card);
+- else if (card->mmc_avail_type & EXT_CSD_CARD_TYPE_HS)
++ if (!err)
++ goto bus_speed;
++ }
++ if (card->mmc_avail_type & EXT_CSD_CARD_TYPE_HS) {
+ err = mmc_select_hs(card);
++ if (!err)
++ goto bus_speed;
++ }
+
+ if (err && err != -EBADMSG)
+ return err;
+--
+2.7.4
+