From 4c0c4e8d259215517563883e80eab7ad3eb8464b Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Wed, 17 Feb 2010 18:49:54 -0800 Subject: [PATCH] --- yaml --- r: 185164 b: refs/heads/master c: ca4dbc668412d5fe039be3e26e8e717a616d1ca5 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/ia64/include/asm/xen/events.h | 4 ---- trunk/drivers/xen/events.c | 8 ++++++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 309334a0bcba..b05fc7d9b9cd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2b633e3fac5efada088b57d31e65401f22bcc18f +refs/heads/master: ca4dbc668412d5fe039be3e26e8e717a616d1ca5 diff --git a/trunk/arch/ia64/include/asm/xen/events.h b/trunk/arch/ia64/include/asm/xen/events.h index b8370c8b6198..baa74c82aa71 100644 --- a/trunk/arch/ia64/include/asm/xen/events.h +++ b/trunk/arch/ia64/include/asm/xen/events.h @@ -36,10 +36,6 @@ static inline int xen_irqs_disabled(struct pt_regs *regs) return !(ia64_psr(regs)->i); } -static inline void handle_irq(int irq, struct pt_regs *regs) -{ - __do_IRQ(irq); -} #define irq_ctx_init(cpu) do { } while (0) #endif /* _ASM_IA64_XEN_EVENTS_H */ diff --git a/trunk/drivers/xen/events.c b/trunk/drivers/xen/events.c index ce602dd09bc1..2f8413794d05 100644 --- a/trunk/drivers/xen/events.c +++ b/trunk/drivers/xen/events.c @@ -649,9 +649,13 @@ void xen_evtchn_do_upcall(struct pt_regs *regs) int bit_idx = __ffs(pending_bits); int port = (word_idx * BITS_PER_LONG) + bit_idx; int irq = evtchn_to_irq[port]; + struct irq_desc *desc; - if (irq != -1) - handle_irq(irq, regs); + if (irq != -1) { + desc = irq_to_desc(irq); + if (desc) + generic_handle_irq_desc(irq, desc); + } } }