mmc: rtsx: fix card poweroff bug

If the host driver removed while card in the slot, the host will not
power off card power correctly. This bug is produced because host
eject flag set before the last mmc_set_ios callback, we should set the
eject flag after power off.

Signed-off-by: Micky Ching <micky_ching@realsil.com.cn>
Signed-off-by: Chris Ball <chris@printf.net>
This commit is contained in:
Micky Ching 2014-02-17 16:45:46 +08:00 committed by Chris Ball
parent 9107ebbf96
commit 640e09bc45
1 changed files with 2 additions and 1 deletions

View File

@ -1297,7 +1297,6 @@ static int rtsx_pci_sdmmc_drv_remove(struct platform_device *pdev)
pcr->slots[RTSX_SD_CARD].p_dev = NULL;
pcr->slots[RTSX_SD_CARD].card_event = NULL;
mmc = host->mmc;
host->eject = true;
mutex_lock(&host->host_mutex);
if (host->mrq) {
@ -1315,6 +1314,8 @@ static int rtsx_pci_sdmmc_drv_remove(struct platform_device *pdev)
mutex_unlock(&host->host_mutex);
mmc_remove_host(mmc);
host->eject = true;
mmc_free_host(mmc);
dev_dbg(&(pdev->dev),