summaryrefslogtreecommitdiffstats
path: root/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2011-01-16 10:38:43 -0500
committerPaul Gortmaker <paul.gortmaker@windriver.com>2011-01-16 10:38:43 -0500
commita9cf3a0a27a3e366a2e3b66ad75e109fcc3d6e22 (patch)
treee01a7452f53ed7ebb83e4f536fe14e805442862a /genirq-Do-not-mask-edge-ONESHOT-interrupts.patch
parent655600246088a3622d8a3930a8f3ed39047e9f8f (diff)
downloadrt-patches-a9cf3a0a27a3e366a2e3b66ad75e109fcc3d6e22.tar.gz
refresh genirq-Do-not-mask-edge-ONESHOT-interrupts.patch
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Diffstat (limited to 'genirq-Do-not-mask-edge-ONESHOT-interrupts.patch')
-rw-r--r--genirq-Do-not-mask-edge-ONESHOT-interrupts.patch24
1 files changed, 4 insertions, 20 deletions
diff --git a/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch b/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch
index bf6e9e6..8354ee4 100644
--- a/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch
+++ b/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch
@@ -1,4 +1,4 @@
-From 7f072a34719f7064189fd40d41f1b98d6bdbf653 Mon Sep 17 00:00:00 2001
+From e7f530fb40b9f5f07c1d4f192aedd70be4365f0d Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 26 Aug 2009 16:17:59 +0200
Subject: [PATCH] genirq: Do not mask edge ONESHOT interrupts
@@ -9,12 +9,13 @@ Edge type oneshot interrupts should not be masked for forced
threading. We might lose interrupts.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
-index 027fd5b..c6f2d0a 100644
+index c60dc89..bfc3640 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
-@@ -536,7 +536,12 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc)
+@@ -582,7 +582,12 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc)
{
raw_spin_lock(&desc->lock);
@@ -28,23 +29,6 @@ index 027fd5b..c6f2d0a 100644
/*
* If we're currently running this IRQ, or its disabled,
-@@ -551,14 +556,8 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc)
- }
- kstat_incr_irqs_this_cpu(irq, desc);
-
-- /* Start handling the irq */
-- if (unlikely(desc->status & IRQ_ONESHOT)) {
-- desc->status |= IRQ_MASKED;
-- mask_ack_irq(desc, irq);
-- } else {
-- if (desc->chip->ack)
-- desc->chip->ack(irq);
-- }
-+ if (desc->chip->ack)
-+ desc->chip->ack(irq);
-
- /* Mark the IRQ currently in progress.*/
- desc->status |= IRQ_INPROGRESS;
--
1.7.1.1