Re: [tip:irq/core] genirq: Flush the irq thread on synchronization

From: Thomas Gleixner
Date: Thu Mar 15 2012 - 15:28:11 EST


On Thu, 15 Mar 2012, Alexander Gordeev wrote:
> On Wed, Mar 14, 2012 at 04:07:30AM -0700, tip-bot for Ido Yariv wrote:
> > +
> > + if (WARN_ON(desc->threads_oneshot & action->thread_mask))
> > + irq_finalize_oneshot(desc, action, true);
>
> This check is called when the action is already removed in __free_irq() and no
> desc->lock is held. Hence, a concurrent __setup_irq() could reallocate the very
> same bit in the meantime. So neither irq_finalize_oneshot() nor the warning
> are legitimate here.

I put the WARN_ONs there for paranoia reasons, but yes, you are right
they are more confusing than helpful. We really know that everything
has been cleaned up.

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/