Hi Shawn,
Le 18/10/2010 10:10, Shawn Guo a écrit :
But when I try to login console, it gives a bunch of error messages like below.
mmcblk0: error -110 transferring data, sector 1737392, nr 2, card status 0xe00 end_request: I/O error, dev mmcblk0, sector 1737392 mmcblk0: error -84 transferring data, sector 1737394, nr 8, card status 0x900 end_request: I/O error, dev mmcblk0, sector 1737394 mmcblk0: error -84 transferring data, sector 1737402, nr 8, card status 0x900 end_request: I/O error, dev mmcblk0, sector 1737402 ......
As you have tested Wolfram's bits on i.MX51 (eukrea?), probably my babbage registration bit is causing problem. Could you please help have a review to see if anything incorrect?
I just tested a linaro rootfs on SDCard (we have a nand flash so until now we had our rootfs on it) and got the same errors as you. As suggested by Richard, SDHCI_QUIRK_BROKEN_TIMEOUT_VAL seems to fix the problem, so can you try the following patch ?
BTW, concerning Linaro's rootfs, I didn't managed to get a login prompt on the serial port because of udev problems certainly because I'm missing options in the kernel configuration, but at least I don't have anymore mmc error messages.
Eric
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 2e9cca1..e8f7048 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -134,7 +134,8 @@ static struct sdhci_ops sdhci_esdhc_ops = {
struct sdhci_pltfm_data sdhci_esdhc_imx_pdata = { .quirks = ESDHC_DEFAULT_QUIRKS | SDHCI_QUIRK_NO_MULTIBLOCK - | SDHCI_QUIRK_BROKEN_ADMA, + | SDHCI_QUIRK_BROKEN_ADMA + | SDHCI_QUIRK_BROKEN_TIMEOUT_VAL, /* ADMA has issues. Might be fixable */ /* NO_MULTIBLOCK might be MX35 only (Errata: ENGcm07207) */ .ops = &sdhci_esdhc_ops,