* Pierre Ossman <pierre@xxxxxxxxx> [090426 12:22]: > Should I queue this up or do you want to do something differently for > this? Looks like a valid fix to me. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> > On Thu, 16 Apr 2009 15:55:21 +1000 > Ben Nizette <bn@xxxxxxxxxxxxxxx> wrote: > > > > > disable_irq() should wait for all running handlers to complete > > before returning. As such, if it's used to disable an interrupt > > from that interrupt's handler it will deadlock. This replaces > > the dangerous instances with the _nosync() variant which doesn't > > have this problem. > > > > Signed-off-by: Ben Nizette <bn@xxxxxxxxxxxxxxx> > > --- > > diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c > > index 5570849..d5ea652 100644 > > --- a/drivers/mmc/host/omap.c > > +++ b/drivers/mmc/host/omap.c > > @@ -824,7 +824,7 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id) > > del_timer(&host->cmd_abort_timer); > > host->abort = 1; > > OMAP_MMC_WRITE(host, IE, 0); > > - disable_irq(host->irq); > > + disable_irq_nosync(host->irq); > > schedule_work(&host->cmd_abort_work); > > return IRQ_HANDLED; > > } > > > -- > -- Pierre Ossman > > WARNING: This correspondence is being monitored by the > Swedish government. Make sure your server uses encryption > for SMTP traffic and consider using PGP for end-to-end > encryption. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html