|
@@ -760,6 +760,8 @@ static int pxamci_remove(struct platform_device *pdev)
|
|
|
if (mmc) {
|
|
|
struct pxamci_host *host = mmc_priv(mmc);
|
|
|
|
|
|
+ mmc_remove_host(mmc);
|
|
|
+
|
|
|
if (host->pdata) {
|
|
|
gpio_cd = host->pdata->gpio_card_detect;
|
|
|
gpio_ro = host->pdata->gpio_card_ro;
|
|
@@ -779,8 +781,6 @@ static int pxamci_remove(struct platform_device *pdev)
|
|
|
if (host->pdata && host->pdata->exit)
|
|
|
host->pdata->exit(&pdev->dev, mmc);
|
|
|
|
|
|
- mmc_remove_host(mmc);
|
|
|
-
|
|
|
pxamci_stop_clock(host);
|
|
|
writel(TXFIFO_WR_REQ|RXFIFO_RD_REQ|CLK_IS_OFF|STOP_CMD|
|
|
|
END_CMD_RES|PRG_DONE|DATA_TRAN_DONE,
|