aboutsummaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorStefan Nilsson XK <stefan.xk.nilsson@stericsson.com>2011-02-24 13:52:47 +0100
committerJonas ABERG <jonas.aberg@stericsson.com>2011-02-25 14:33:12 +0100
commit01f8f1f37a767fa821a58867a1788bd46eca1fab (patch)
tree9060b7c9d6d305abbf997df27df5b56e0d473259 /drivers/mmc
parent93730cdb671b492b756698180f3166d4e54b312a (diff)
SDIO: Remember new card RCA when redetecting card
During redetection of a SDIO card, a request for a new card RCA was submitted to the card, but was then overwritten by the old RCA. This caused the card to be deselected instead of selected when using the incorrect RCA. ST-Ericsson ID: ER324385 Change-Id: I1a35f8b72b2cbf60922b90b5e97899adae0ac7e7 Signed-off-by: Stefan Nilsson XK <stefan.xk.nilsson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/16939 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Reviewed-by: Pawel WIECZORKIEWICZ <pawel.wieczorkiewicz@stericsson.com>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/core/sdio.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
index 37199337efb..04e68fe3bcc 100644
--- a/drivers/mmc/core/sdio.c
+++ b/drivers/mmc/core/sdio.c
@@ -313,6 +313,13 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32 ocr,
if (err)
goto remove;
+ /*
+ * Update oldcard with the new RCA received from the
+ * SDIO device.
+ */
+ if (oldcard)
+ oldcard->rca = card->rca;
+
mmc_set_bus_mode(host, MMC_BUSMODE_PUSHPULL);
}