summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2017-11-28 15:40:33 +0100
committerThomas Gleixner <tglx@linutronix.de>2017-12-04 20:50:35 +0100
commitbb5c43428252f27b875c764451321a83a531d6e5 (patch)
tree471cc65029d5958edabc9813996da1f1221d1abf
parentae64f9bd1d3621b5e60d7363bc20afb46aede215 (diff)
downloadblackbird-op-linux-bb5c43428252f27b875c764451321a83a531d6e5.tar.gz
blackbird-op-linux-bb5c43428252f27b875c764451321a83a531d6e5.zip
genirq/matrix: Fix the precedence fix for real
The previous commit which made the operator precedence in irq_matrix_available() explicit made the implicit brokenness explicitely wrong. It was wrong in the original commit already. The overworked maintainer did not notice it either when merging the patch. Replace the confusing '?' construct by a simple and obvious if (). Fixes: 75f1133873d6 ("genirq/matrix: Make - vs ?: Precedence explicit") Reported-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Kees Cook <keescook@chromium.org>
-rw-r--r--kernel/irq/matrix.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/irq/matrix.c b/kernel/irq/matrix.c
index 7df2480005f8..0ba0dd8863a7 100644
--- a/kernel/irq/matrix.c
+++ b/kernel/irq/matrix.c
@@ -384,7 +384,9 @@ unsigned int irq_matrix_available(struct irq_matrix *m, bool cpudown)
{
struct cpumap *cm = this_cpu_ptr(m->maps);
- return (m->global_available - cpudown) ? cm->available : 0;
+ if (!cpudown)
+ return m->global_available;
+ return m->global_available - cm->available;
}
/**
OpenPOWER on IntegriCloud