[PATCH] mmc: atmel-mci: fix deadlock

From: Steffen KÃhn
Date: Wed May 09 2012 - 05:24:34 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/