Hi, Not good news. This patch make a hang at probe time. it's tested against commit 7e27d6e778cd87b6f2415515d7127eba53fe5d02 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> 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 <matthieu.castet@xxxxxxxxxx> 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 <matthieu.castet@xxxxxxxxxx> > > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html