aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mn10300
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-07-01 18:19:35 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-07-01 18:19:35 -0400
commitd5fb82137b6cd39e67c4321f4f5ce9b03d4d04e6 (patch)
treeaadb6cd1b654c0b45759111af74f3e7fc7a13705 /arch/mn10300
parent8fff77551a9215a725650263e30fa105acca95ab (diff)
parent93b6eb77b49064ed1de5726560a0849f3ebccc2c (diff)
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fixes from Thomas Gleixner: "This contains: - a series of fixes for interrupt drivers to prevent a potential race when installing a chained interrupt handler - a fix for cpumask pointer misuse - a fix for using the wrong interrupt number from struct irq_data - removal of unused code and outdated comments - a few new helper functions which allow us to cleanup the interrupt handling code further in 4.3 I decided against doing the cleanup at the end of this merge window and rather do the preparatory steps for 4.3, so we can run the final ABI change at the end of the 4.3 merge window with less risk" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits) ARM/LPC32xx: Use irq not hwirq for __irq_set_handler_locked() genirq: Implement irq_set_handler_locked()/irq_set_chip_handler_name_locked() genirq: Introduce helper irq_desc_get_irq() genirq: Remove irq_node() genirq: Clean up outdated comments related to include/linux/irqdesc.h mn10300: Fix incorrect use of irq_data->affinity MIPS/ralink: Fix race in installing chained IRQ handler MIPS/pci: Fix race in installing chained IRQ handler MIPS/ath25: Fix race in installing chained IRQ handler MIPS/ath25: Fix race in installing chained IRQ handler m68k/psc: Fix race in installing chained IRQ handler avr32/at32ap: Fix race in installing chained IRQ handler sh/intc: Fix race in installing chained IRQ handler sh/intc: Fix potential race in installing chained IRQ handler pinctrl/sun4i: Fix race in installing chained IRQ handler pinctrl/samsung: Fix race in installing chained IRQ handler pinctrl/samsung: Fix race in installing chained IRQ handler pinctrl/exynos: Fix race in installing chained IRQ handler pinctrl/st: Fix race in installing chained IRQ handler pinctrl/adi2: Fix race in installing chained IRQ handler ...
Diffstat (limited to 'arch/mn10300')
-rw-r--r--arch/mn10300/kernel/irq.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/mn10300/kernel/irq.c b/arch/mn10300/kernel/irq.c
index 6ab3b73efcf8..480de70f4059 100644
--- a/arch/mn10300/kernel/irq.c
+++ b/arch/mn10300/kernel/irq.c
@@ -320,11 +320,11 @@ void migrate_irqs(void)
320 if (irqd_is_per_cpu(data)) 320 if (irqd_is_per_cpu(data))
321 continue; 321 continue;
322 322
323 if (cpumask_test_cpu(self, &data->affinity) && 323 if (cpumask_test_cpu(self, data->affinity) &&
324 !cpumask_intersects(&irq_affinity[irq], cpu_online_mask)) { 324 !cpumask_intersects(&irq_affinity[irq], cpu_online_mask)) {
325 int cpu_id; 325 int cpu_id;
326 cpu_id = cpumask_first(cpu_online_mask); 326 cpu_id = cpumask_first(cpu_online_mask);
327 cpumask_set_cpu(cpu_id, &data->affinity); 327 cpumask_set_cpu(cpu_id, data->affinity);
328 } 328 }
329 /* We need to operate irq_affinity_online atomically. */ 329 /* We need to operate irq_affinity_online atomically. */
330 arch_local_cli_save(flags); 330 arch_local_cli_save(flags);
@@ -335,7 +335,7 @@ void migrate_irqs(void)
335 GxICR(irq) = x & GxICR_LEVEL; 335 GxICR(irq) = x & GxICR_LEVEL;
336 tmp = GxICR(irq); 336 tmp = GxICR(irq);
337 337
338 new = cpumask_any_and(&data->affinity, 338 new = cpumask_any_and(data->affinity,
339 cpu_online_mask); 339 cpu_online_mask);
340 irq_affinity_online[irq] = new; 340 irq_affinity_online[irq] = new;
341 341