Message ID | 20220815073321.63382-2-adrian.hunter@intel.com |
---|---|
State | New |
Headers | show |
Series | mmc: sd: Fix inconsistent sd3_bus_mode with failed voltage switch | expand |
> -----Original Message----- > From: Adrian Hunter <adrian.hunter@intel.com> > Sent: Monday, August 15, 2022 4:33 PM > To: Ulf Hansson <ulf.hansson@linaro.org> > Cc: linux-mmc <linux-mmc@vger.kernel.org>; Seunghui Lee > <sh043.lee@samsung.com>; DooHyun Hwang <dh0421.hwang@samsung.com> > Subject: [PATCH 1/2] mmc: sd: Fix 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. Move 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> > --- > drivers/mmc/core/sd.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c index > cee4c0b59f43..bc84d7dfc8e1 100644 > --- a/drivers/mmc/core/sd.c > +++ b/drivers/mmc/core/sd.c > @@ -1498,7 +1498,7 @@ static int mmc_sd_init_card(struct mmc_host *host, > u32 ocr, > mmc_remove_card(card); > goto retry; > } > - goto done; > + goto cont; > } > } > > @@ -1534,7 +1534,7 @@ static int mmc_sd_init_card(struct mmc_host *host, > u32 ocr, > 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 @@ static int mmc_sd_init_card(struct mmc_host *host, > u32 ocr, > err = -EINVAL; > goto free_card; > } > -done: > + > host->card = card; > return 0; > > -- > 2.25.1 Looks good to me. Reviewed-by: Seunghui Lee <sh043.lee@samsung.com>
diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c index cee4c0b59f43..bc84d7dfc8e1 100644 --- a/drivers/mmc/core/sd.c +++ b/drivers/mmc/core/sd.c @@ -1498,7 +1498,7 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr, mmc_remove_card(card); goto retry; } - goto done; + goto cont; } } @@ -1534,7 +1534,7 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr, 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 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr, err = -EINVAL; goto free_card; } -done: + host->card = card; return 0;
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. Move 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> --- drivers/mmc/core/sd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)