mmc: core: Fix UHS-I SD 1.8V workaround branch
authorAdrian Hunter <adrian.hunter@intel.com>
Mon, 15 Aug 2022 07:33:20 +0000 (10:33 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 22 Aug 2022 10:58:28 +0000 (12:58 +0200)
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".

Fixes: 045d705dc1fb ("mmc: core: Enable the MMC host software queue for the SD card")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Seunghui Lee <sh043.lee@samsung.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20220815073321.63382-2-adrian.hunter@intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/sd.c

index cee4c0b59f43d62e697667cd350ebce1ff06561c..bc84d7dfc8e19356d48e857d988867cd66aee50f 100644 (file)
@@ -1498,7 +1498,7 @@ retry:
                                        mmc_remove_card(card);
                                goto retry;
                        }
-                       goto done;
+                       goto cont;
                }
        }
 
@@ -1534,7 +1534,7 @@ retry:
                        mmc_set_bus_width(host, MMC_BUS_WIDTH_4);
                }
        }
-
+cont:
        if (!oldcard) {
                /* Read/parse the extension registers. */
                err = sd_read_ext_regs(card);
@@ -1566,7 +1566,7 @@ retry:
                err = -EINVAL;
                goto free_card;
        }
-done:
+
        host->card = card;
        return 0;