Regarding -110 error, looking at include/asm-generic/errno.h, 110 is
ETIMEDOUT, which kinda makes sense - this error only seems to occur if
the SD card is under load.
I had a look at drivers/mmc/core/core.c, in method mmc_set_data_timeout
(which is called directly before the 'mmcblk0: error -110 transferring
data' error is displayed in drivers/mmc/block.c) sets the limit as the
code below shows:
/*
* SD cards also have an upper limit on the timeout.
*/
if (mmc_card_sd(card)) {
unsigned int timeout_us, limit_us;
timeout_us = data->timeout_ns / 1000;
timeout_us += data->timeout_clks * 1000 /
(card->host->ios.clock / 1000);
if (data->flags & MMC_DATA_WRITE)
/*
* The limit is really 250 ms, but that is
* insufficient for some crappy cards.
*/
limit_us = 350000;
else
limit_us = 100000;
/*
* SDHC cards always use these fixed values.
*/
if (timeout_us > limit_us || mmc_card_blockaddr(card)) {
data->timeout_ns = limit_us * 1000;
data->timeout_clks = 0;
}
}
The timeout seems to occur on writes only, so I upped limit_us = 350000;
to limit_us = 500000; and reverted out the change I'd made to sdhci-
pci.c (see my previous post) and rebuilt the kernel...
Haven't experienced any -110 errors today and this machine has been
building kernels all day, so it seems like extending the timeout limit
from 350ms to 500ms may well have helped...
I don't know if the implication is that my SDHC card is extra-crappy if
it needs a timeout limit of 500ms :-/
pls remember I'm on intrepid & 2.6.28-rc5 now, but same should apply to
hardy & 2.6.27
--
SDHC Card reader I/O errors on Hardy
https://bugs.launchpad.net/bugs/247819
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs