From b45868d6243d5c223935e90273cd00f46b11c56b Mon Sep 17 00:00:00 2001 From: Adrian Hunter Date: Mon, 15 Aug 2022 10:33:20 +0300 Subject: [PATCH] BACKPORT: mmc: core: Fix UHS-I SD 1.8V workaround branch When introduced, upon success, the 1.8V fixup workaround in mmc_sd_init_card() would branch to practically the end of the function, to a label named "done". Unfortunately, perhaps due to the label name, over time new code has been added that really should have come after "done" not before it. Let's fix the problem by moving the label to the correct place and rename it "cont". Bug: 254441685 Fixes: 045d705dc1fb ("mmc: core: Enable the MMC host software queue for the SD card") Signed-off-by: Adrian Hunter Reviewed-by: Seunghui Lee Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20220815073321.63382-2-adrian.hunter@intel.com Signed-off-by: Ulf Hansson (cherry picked from commit 15c56208c79c340686869c31595c209d1431c5e8) Signed-off-by: Lee Jones Change-Id: I95b5445f74710ac4623611efb7f3cba59b2264a9 --- drivers/mmc/core/sd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c index d539c8e68c78..4e935d0eba1e 100644 --- a/drivers/mmc/core/sd.c +++ b/drivers/mmc/core/sd.c @@ -1053,7 +1053,7 @@ retry: mmc_remove_card(card); goto retry; } - goto done; + goto cont; } } @@ -1090,6 +1090,7 @@ retry: } } +cont: if (host->cqe_ops && !host->cqe_enabled) { err = host->cqe_ops->cqe_enable(host, card); if (!err) { @@ -1107,7 +1108,7 @@ retry: err = -EINVAL; goto free_card; } -done: + host->card = card; return 0;