mmc: mxcmmc: Fix bug when card is present during boot

This patch fixes bug when card is present during boot.
Bug was introduced due commit "mmc: mxcmmc: fix bug that may block a
data transfer forever". When a card is present "mxcmci_setup_data"
function is executed, but the timer is not initialized.

...
i.MX SDHC driver
mmc0: SD Status: Invalid Allocation Unit size.
mmc0: new SD card at address b368
mmcblk0: mmc0:b368 SDC   1.91 GiB
------------[ cut here ]------------
kernel BUG at kernel/timer.c:729!
Internal error: Oops - BUG: 0 [#1] PREEMPT ARM
CPU: 0    Not tainted  (3.9.0-rc5-next-20130404 #2)
PC is at mod_timer+0x168/0x198
LR is at mxcmci_request+0x21c/0x328
...

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
Alexander Shiyan 2013-04-06 10:13:31 +04:00 committed by Chris Ball
parent 0d3e3350d5
commit abd4190f0c

View File

@ -1052,12 +1052,12 @@ static int mxcmci_probe(struct platform_device *pdev)
goto out_free_irq;
}
mmc_add_host(mmc);
init_timer(&host->watchdog);
host->watchdog.function = &mxcmci_watchdog;
host->watchdog.data = (unsigned long)mmc;
mmc_add_host(mmc);
return 0;
out_free_irq: