On Wed, 15 Dec 2010, Jan Kiszka wrote: > Am 14.12.2010 22:46, Thomas Gleixner wrote: > > On Mon, 13 Dec 2010, Jan Kiszka wrote: > >> From: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> > >> chip_bus_lock(desc); > >> retval = __setup_irq(irq, desc, action); > >> chip_bus_sync_unlock(desc); > >> > >> - if (retval) > >> + if (retval) { > >> + if (desc->action && !desc->action->next) > >> + desc->irq_data.drv_status &= ~IRQS_SHARED; > > > > This is redundant. IRQS_SHARED gets set in a code path where all > > checks are done already. > > Nope, it's also set before entry of __setup_irq in case we call an > IRQF_ADAPTIVE handler. > > We need to set it that early as we may race with IRQ events for the > already registered handler happening between the sharing notification > and the actual registration of the second handler. Hmm, ok. Though the MAKE_SHAREABLE flag should be sufficient to do the notification. Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html