diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-01-16 10:38:43 -0500 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-01-16 10:38:43 -0500 |
commit | a9cf3a0a27a3e366a2e3b66ad75e109fcc3d6e22 (patch) | |
tree | e01a7452f53ed7ebb83e4f536fe14e805442862a /genirq-Do-not-mask-edge-ONESHOT-interrupts.patch | |
parent | 655600246088a3622d8a3930a8f3ed39047e9f8f (diff) | |
download | rt-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.patch | 24 |
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 |