|
@@ -942,13 +942,13 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr,
|
|
|
if (!mmc_host_is_spi(host)) {
|
|
|
err = mmc_send_relative_addr(host, &card->rca);
|
|
|
if (err)
|
|
|
- return err;
|
|
|
+ goto free_card;
|
|
|
}
|
|
|
|
|
|
if (!oldcard) {
|
|
|
err = mmc_sd_get_csd(host, card);
|
|
|
if (err)
|
|
|
- return err;
|
|
|
+ goto free_card;
|
|
|
|
|
|
mmc_decode_cid(card);
|
|
|
}
|
|
@@ -959,7 +959,7 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr,
|
|
|
if (!mmc_host_is_spi(host)) {
|
|
|
err = mmc_select_card(card);
|
|
|
if (err)
|
|
|
- return err;
|
|
|
+ goto free_card;
|
|
|
}
|
|
|
|
|
|
err = mmc_sd_setup_card(host, card, oldcard != NULL);
|