Hi,
Not good news. This patch make a hang at probe time.
it's tested against commit 7e27d6e778cd87b6f2415515d7127eba53fe5d02
Author: Linus Torvalds <[email protected]>
Date: Fri Jun 11 19:14:04 2010 -0700
Linux 2.6.35-rc3
Thank you,
Kyungmin Park
On Thu, Jun 17, 2010 at 6:07 PM, Matthieu CASTET
<[email protected]> wrote:
> sdhci code got tasklets (sdhci_tasklet_card and sdhci_tasklet_finish),
> that does :
> {
> spin_lock_irqsave
>
> if (cond) {
> sdhci_reset
> sdhci_reset
> }
>
> spin_unlock_irqrestore
> }
>
> sdhci_reset {
> ...
> while (read_reg) {
> if (timeout == 0)
> break;
> timeout--;
> mdelay(1);
> }
> ...
> }
>
>
> The problem is that sdhci_reset [1] does busy pooling (with a granularity of
> 1 ms) on a register up to a timeout of 100 ms.
>
> With the current code, we got irq off during 2*1ms. With the attached patch
> we reduce irq off to 30 us.
>
> Note that worst case 100 ms irq off still exist.
>
> Signed-off-by: Matthieu CASTET <[email protected]>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html