[PATCH] au1xmmc: abort requests early if no card is present
From: Manuel Lauss
Date: Sun May 18 2008 - 09:52:43 EST
Don't process a request if no card is present.
Signed-off-by: Manuel Lauss <mano@xxxxxxxxxxxxxxxxxxxxxxx>
---
drivers/mmc/host/au1xmmc.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/drivers/mmc/host/au1xmmc.c b/drivers/mmc/host/au1xmmc.c
index be09a14..0b30582 100644
--- a/drivers/mmc/host/au1xmmc.c
+++ b/drivers/mmc/host/au1xmmc.c
@@ -689,6 +689,13 @@ static void au1xmmc_request(struct mmc_host *mmc, struct mmc_request *mrq)
host->mrq = mrq;
host->status = HOST_S_CMD;
+ /* fail request immediately if no card is present */
+ if (0 == au1xmmc_card_inserted(host)) {
+ mrq->cmd->error = -ETIMEDOUT;
+ au1xmmc_finish_request(host);
+ return;
+ }
+
if (mrq->data) {
FLUSH_FIFO(host);
ret = au1xmmc_prepare_data(host, mrq->data);
--
1.5.5.1
--
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/