[linux-2.6.18-xen] merge with linux-2.6.18-xen.hg (staging)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[linux-2.6.18-xen] merge with linux-2.6.18-xen.hg (staging)

Xen patchbot-linux-2.6.18-xen
# HG changeset patch
# User Alex Williamson <[hidden email]>
# Date 1195661559 25200
# Node ID dea67c1a8efa6629899e644caa1b2f97d6c391b6
# Parent  55705fbc4b0ee4d91e5b03785fe0fa27faf8fe95
# Parent  51b2b0d0921c3aefb18e16a2eda68a5c3133e949
merge with linux-2.6.18-xen.hg (staging)
---
 drivers/xen/core/evtchn.c |   16 +++++-----------
 1 files changed, 5 insertions(+), 11 deletions(-)

diff -r 55705fbc4b0e -r dea67c1a8efa drivers/xen/core/evtchn.c
--- a/drivers/xen/core/evtchn.c Tue Nov 20 11:53:03 2007 -0700
+++ b/drivers/xen/core/evtchn.c Wed Nov 21 09:12:39 2007 -0700
@@ -782,20 +782,11 @@ static void shutdown_pirq(unsigned int i
 
 static void enable_pirq(unsigned int irq)
 {
- int evtchn = evtchn_from_irq(irq);
-
- if (VALID_EVTCHN(evtchn)) {
- unmask_evtchn(evtchn);
- pirq_unmask_notify(irq_to_pirq(irq));
- }
+ startup_pirq(irq);
 }
 
 static void disable_pirq(unsigned int irq)
 {
- int evtchn = evtchn_from_irq(irq);
-
- if (VALID_EVTCHN(evtchn))
- mask_evtchn(evtchn);
 }
 
 static void ack_pirq(unsigned int irq)
@@ -814,7 +805,10 @@ static void end_pirq(unsigned int irq)
 {
  int evtchn = evtchn_from_irq(irq);
 
- if (VALID_EVTCHN(evtchn) && !(irq_desc[irq].status & IRQ_DISABLED)) {
+ if ((irq_desc[irq].status & (IRQ_DISABLED|IRQ_PENDING)) ==
+    (IRQ_DISABLED|IRQ_PENDING)) {
+ shutdown_pirq(irq);
+ } else if (VALID_EVTCHN(evtchn)) {
  unmask_evtchn(evtchn);
  pirq_unmask_notify(irq_to_pirq(irq));
  }

_______________________________________________
Xen-changelog mailing list
[hidden email]
http://lists.xensource.com/xen-changelog