[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi.
>>> On 21.10.10 at 15:36, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> >>> wrote: > New version of this patch: Looks consistent now, with one possible exception (I'm not sure here really). I'm not going to ack this nevertheless as I continue to not be convinced of the switch to handle_edge_irq(), the more that your patch (as you write yourself) complicates the code. > --- a/drivers/xen/events.c > +++ b/drivers/xen/events.c > @@ -436,21 +436,50 @@ static bool identity_mapped_irq(unsigned irq) > return irq < get_nr_hw_irqs(); > } > > -static void pirq_eoi(unsigned int irq) > +static void eoi_pirq(unsigned int irq) > { > struct irq_info *info = info_for_irq(irq); > struct physdev_eoi eoi = { .irq = info->u.pirq.gsi }; > - bool need_eoi; > + int evtchn = evtchn_from_irq(irq); > + int rc = 0, need_mask = 0; > + struct shared_info *s = HYPERVISOR_shared_info; > > - need_eoi = pirq_needs_eoi(irq); > + if (!VALID_EVTCHN(evtchn)) > + return; > > - if (!need_eoi || !pirq_eoi_does_unmask) > - unmask_evtchn(info->evtchn); > + move_masked_irq(irq); It's not clear whether calling this function is valid when the IRQ isn't really masked. In any case I'd suggest adding an IRQ_DISABLED check matching move_native_irq()'s. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |