On Thu, 2012-05-10 at 15:17 +0200, Christophe Huriaux wrote: > > From: Christophe Huriaux <c.huriaux@xxxxxxxxx> > Subject: [PATCH] Fix scheduling while atomic bug in pio_tasklet > Signed-off-by: Christophe Huriaux <c.huriaux@xxxxxxxxx> > --- > drivers/mmc/host/s3cmci.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c > index 720f993..9978ad6 100644 > --- a/drivers/mmc/host/s3cmci.c > +++ b/drivers/mmc/host/s3cmci.c > @@ -329,7 +329,11 @@ static void s3cmci_enable_irq(struct s3cmci_host > *host, bool more) > if (enable) > enable_irq(host->irq); > else > +#ifdef CONFIG_PREEMPT_RT_BASE > + disable_irq_nosync(host->irq); > +#else > disable_irq(host->irq); > +#endif > } > > local_irq_restore(flags); > @@ -350,7 +354,11 @@ static void s3cmci_disable_irq(struct s3cmci_host > *host, bool transfer) > > if (transfer && host->irq_state) { > host->irq_state = false; > +#ifdef CONFIG_PREEMPT_RT_BASE > + disable_irq_nosync(host->irq); > +#else > disable_irq(host->irq); > +#endif > } > > local_irq_restore(flags); What happens if you instead convert the local_irq_save/restore() to local_irq_save_nort/restore_nort()? Does that work too? -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html