[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <492EC995.8050701@atmel.com>
Date: Thu, 27 Nov 2008 17:23:49 +0100
From: Nicolas Ferre <nicolas.ferre@...el.com>
To: Pierre Ossman <drzeus@...eus.cx>
CC: wux@...dicorp.com, Andrew Victor <linux@...im.org.za>,
ARM Linux Mailing List
<linux-arm-kernel@...ts.arm.linux.org.uk>,
Linux Kernel list <linux-kernel@...r.kernel.org>
Subject: [PATCH] mmc: at91_mci: reorder timer setup and mmc_add_host() call
As said in function comment mmc_add_host() requires that:
"The host must be prepared to start servicing requests
before this function completes."
During this function, at91_mci_request() can be invoqued
without timer beeing setup leading to a kernel Oops.
This has been reported inserting this driver as a module.
Signed-off-by: Nicolas Ferre <nicolas.ferre@...el.com>
Reported-by: Wu Xuan <wux@...dicorp.com>
---
drivers/mmc/host/at91_mci.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c
index 1f8b5b3..e556d42 100644
--- a/drivers/mmc/host/at91_mci.c
+++ b/drivers/mmc/host/at91_mci.c
@@ -1088,6 +1088,8 @@ static int __init at91_mci_probe(struct platform_device *pdev)
goto fail0;
}
+ setup_timer(&host->timer, at91_timeout_timer, (unsigned long)host);
+
platform_set_drvdata(pdev, mmc);
/*
@@ -1101,8 +1103,6 @@ static int __init at91_mci_probe(struct platform_device *pdev)
mmc_add_host(mmc);
- setup_timer(&host->timer, at91_timeout_timer, (unsigned long)host);
-
/*
* monitor card insertion/removal if we can
*/
--
1.5.3.7
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists