[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 22.10.10 at 10:07, Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx> wrote: > On Fri, 2010-10-22 at 08:41 +0100, Jan Beulich wrote: >> >>> On 21.10.10 at 15:36, Stefano Stabellini >> >>> <stefano.stabellini@xxxxxxxxxxxxx> wrote: >> > --- 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. > > Why not just call move_native_irq instead of move_masked_irq as > appropriate? That was what I implied with the first part of my response. But I think the second part applies if a (the conditional) call to move_masked_irq() would stay. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |