Should I queue this up or do you want to do something differently for this? 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.
Attachment:
signature.asc
Description: PGP signature