solves a deadlock problem which appears when a mmc card is removing and a process is reading from the card at the same time. --- drivers/mmc/host/atmel-mci.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c index e94476b..effdc36 100644 --- a/drivers/mmc/host/atmel-mci.c +++ b/drivers/mmc/host/atmel-mci.c @@ -1499,8 +1499,10 @@ static void atmci_tasklet_func(unsigned long priv) } if (!atmci_test_and_clear_pending(host, - EVENT_XFER_COMPLETE)) + EVENT_XFER_COMPLETE)) { + host->stop_transfer(host); break; + } atmci_set_completed(host, EVENT_XFER_COMPLETE); prev_state = state = STATE_DATA_BUSY; -- 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html