summaryrefslogtreecommitdiff
path: root/target/linux/ramips/patches-3.10/0201-MIPS-GIC-Fix-gic_set_affinity-infinite-loop.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ramips/patches-3.10/0201-MIPS-GIC-Fix-gic_set_affinity-infinite-loop.patch')
-rw-r--r--target/linux/ramips/patches-3.10/0201-MIPS-GIC-Fix-gic_set_affinity-infinite-loop.patch44
1 files changed, 0 insertions, 44 deletions
diff --git a/target/linux/ramips/patches-3.10/0201-MIPS-GIC-Fix-gic_set_affinity-infinite-loop.patch b/target/linux/ramips/patches-3.10/0201-MIPS-GIC-Fix-gic_set_affinity-infinite-loop.patch
deleted file mode 100644
index f1898ba..0000000
--- a/target/linux/ramips/patches-3.10/0201-MIPS-GIC-Fix-gic_set_affinity-infinite-loop.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From cde59bef2f155fc38413e470ff0e4672623cdbec Mon Sep 17 00:00:00 2001
-From: Tony Wu <tung7970@gmail.com>
-Date: Fri, 21 Jun 2013 10:13:08 +0000
-Subject: [PATCH 201/215] MIPS: GIC: Fix gic_set_affinity infinite loop
-
-There is an infinite loop in gic_set_affinity. When irq_set_affinity
-gets called on gic controller, it blocks forever.
-
-Signed-off-by: Tony Wu <tung7970@gmail.com>
-Cc: Steven J. Hill <Steven.Hill@imgtec.com>
-Cc: linux-mips@linux-mips.org
-Patchwork: https://patchwork.linux-mips.org/patch/5537/
-Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-(cherry picked from commit c214c03512b67e56dea3f4471705f8caae49553a)
----
- arch/mips/kernel/irq-gic.c | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
---- a/arch/mips/kernel/irq-gic.c
-+++ b/arch/mips/kernel/irq-gic.c
-@@ -219,16 +219,15 @@ static int gic_set_affinity(struct irq_d
-
- /* Assumption : cpumask refers to a single CPU */
- spin_lock_irqsave(&gic_lock, flags);
-- for (;;) {
-- /* Re-route this IRQ */
-- GIC_SH_MAP_TO_VPE_SMASK(irq, first_cpu(tmp));
-
-- /* Update the pcpu_masks */
-- for (i = 0; i < NR_CPUS; i++)
-- clear_bit(irq, pcpu_masks[i].pcpu_mask);
-- set_bit(irq, pcpu_masks[first_cpu(tmp)].pcpu_mask);
-+ /* Re-route this IRQ */
-+ GIC_SH_MAP_TO_VPE_SMASK(irq, first_cpu(tmp));
-+
-+ /* Update the pcpu_masks */
-+ for (i = 0; i < NR_CPUS; i++)
-+ clear_bit(irq, pcpu_masks[i].pcpu_mask);
-+ set_bit(irq, pcpu_masks[first_cpu(tmp)].pcpu_mask);
-
-- }
- cpumask_copy(d->affinity, cpumask);
- spin_unlock_irqrestore(&gic_lock, flags);
-