Messages in this thread | | | Date | Thu, 15 Mar 2012 20:27:33 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [tip:irq/core] genirq: Flush the irq thread on synchronization |
| |
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
| |