Re: [PATCH 1/1] mmc: Some microSD cards are not recognized by PCIxx12SDA controller

From: Josà MarÃÂa FernÃndez GonzÃlez
Date: Wed Mar 25 2009 - 04:01:22 EST


Pierre Ossman wrote:
> On Tue, 10 Mar 2009 02:21:21 +0100
>> diff -Nrpu linux-2.6.28.5/drivers/mmc/core/core.c.orig linux-2.6.28.5/drivers/mmc/core/core.c
>> --- linux-2.6.28.5/drivers/mmc/core/core.c.orig 2009-03-10 01:30:19.000000000 +0100
>> +++ linux-2.6.28.5/drivers/mmc/core/core.c 2009-03-10 01:29:44.000000000 +0100
>> @@ -514,7 +514,7 @@ static void mmc_power_up(struct mmc_host
>> * This delay should be sufficient to allow the power supply
>> * to reach the minimum voltage.
>> */
>> - mmc_delay(2);
>> + mmc_delay(10);
>>
>
> A delay of 10 is just enough to trigger a sleep on most kernels
> (HZ=100). Have you determined the lower bound of these two values?
>

Well, I have been using the patch in a kernel with HZ=300, tickless (CONFIG_NO_HZ) and desktop preemption (CONFIG_PREEMPT_VOLUNTARY), but I didn't determine the lower bound. As I explained in the patch at -mm tree, I took as base the patch:

http://list.drzeus.cx/pipermail/sdhci-devel/2007-December/002089.html

and I only extrapolated the need for a higher delay just after MMC_POWER_UP to this one and after MMC_POWER_ON. When I was looking for a fix for the problem I was suffering with my microSD card and laptop, I remember I found some e-mails from two years ago pointing out to some change in the scheduler which uncovered the problem.

As I'm going to install 2.6.29 today, I can test the patch with it and HZ=100.
--
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/