omap hsmmc: fix a bug in card remove scenario
The reset of data lines when the card is removed from the cage results in a failure.The failure is seen if the card is removed from the cage when TC is pending after a CMD with data received CC.The reset logic leaves the controller in a state where niether a TC is received nor DTO. The rest code can be safely removed here since it is taken care in the IRQ handler. Signed-off-by: Madhusudhan Chikkature <madhu.cr@ti.com> Cc: Adrian Hunter <adrian.hunter@nokia.com> Cc: <linux-mmc@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
2a481800ca
commit
cdeebaddb7
@ -1179,15 +1179,10 @@ static void omap_hsmmc_detect(struct work_struct *work)
|
||||
carddetect = -ENOSYS;
|
||||
}
|
||||
|
||||
if (carddetect) {
|
||||
if (carddetect)
|
||||
mmc_detect_change(host->mmc, (HZ * 200) / 1000);
|
||||
} else {
|
||||
mmc_host_enable(host->mmc);
|
||||
omap_hsmmc_reset_controller_fsm(host, SRD);
|
||||
mmc_host_lazy_disable(host->mmc);
|
||||
|
||||
else
|
||||
mmc_detect_change(host->mmc, (HZ * 50) / 1000);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user