[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 5/9] xen/time: Add default value of -1 for IRQ and check for that.
On Tue, 16 Apr 2013, Konrad Rzeszutek Wilk wrote: > If the timer interrupt has been de-init or is just now being > initialized, the default value of -1 should be preset as > interrupt line. Check for that and if something is odd > WARN us. > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > arch/x86/xen/time.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c > index 054cc01..3d88bfd 100644 > --- a/arch/x86/xen/time.c > +++ b/arch/x86/xen/time.c > @@ -377,7 +377,7 @@ static const struct clock_event_device > xen_vcpuop_clockevent = { > > static const struct clock_event_device *xen_clockevent = > &xen_timerop_clockevent; > -static DEFINE_PER_CPU(struct clock_event_device, xen_clock_events); > +static DEFINE_PER_CPU(struct clock_event_device, xen_clock_events) = { .irq > = -1 }; > > static irqreturn_t xen_timer_interrupt(int irq, void *dev_id) > { > @@ -401,6 +401,9 @@ void xen_setup_timer(int cpu) > struct clock_event_device *evt; > int irq; > > + evt = &per_cpu(xen_clock_events, cpu); > + WARN(evt->irq >= 0, "IRQ%d for CPU%d is already allocated\n", evt->irq, > cpu); > + > printk(KERN_INFO "installing Xen timer for CPU %d\n", cpu); > > name = kasprintf(GFP_KERNEL, "timer%d", cpu); > @@ -413,7 +416,6 @@ void xen_setup_timer(int cpu) > IRQF_FORCE_RESUME, > name, NULL); > > - evt = &per_cpu(xen_clock_events, cpu); > memcpy(evt, xen_clockevent, sizeof(*evt)); > > evt->cpumask = cpumask_of(cpu); > @@ -426,6 +428,7 @@ void xen_teardown_timer(int cpu) > BUG_ON(cpu == 0); > evt = &per_cpu(xen_clock_events, cpu); > unbind_from_irqhandler(evt->irq, NULL); > + evt->irq = -1; > } > > void xen_setup_cpu_clockevents(void) > -- > 1.8.1.4 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |