diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2017-11-28 15:40:33 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2017-12-04 20:50:35 +0100 |
commit | bb5c43428252f27b875c764451321a83a531d6e5 (patch) | |
tree | 471cc65029d5958edabc9813996da1f1221d1abf | |
parent | ae64f9bd1d3621b5e60d7363bc20afb46aede215 (diff) | |
download | linux-stable-bb5c43428252f27b875c764451321a83a531d6e5.tar.gz linux-stable-bb5c43428252f27b875c764451321a83a531d6e5.tar.bz2 linux-stable-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.c | 4 |
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; } /** |