aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/irq/manage.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 88657d7bc9dd..27a1fe028afb 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -1077,9 +1077,12 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
1077 * set the trigger type must match. Also all must 1077 * set the trigger type must match. Also all must
1078 * agree on ONESHOT. 1078 * agree on ONESHOT.
1079 */ 1079 */
1080
1081#define IRQF_MISMATCH \
1082 (IRQF_TRIGGER_MASK | IRQF_ONESHOT | IRQF_NO_SUSPEND)
1083
1080 if (!((old->flags & new->flags) & IRQF_SHARED) || 1084 if (!((old->flags & new->flags) & IRQF_SHARED) ||
1081 ((old->flags ^ new->flags) & IRQF_TRIGGER_MASK) || 1085 ((old->flags ^ new->flags) & IRQF_MISMATCH))
1082 ((old->flags ^ new->flags) & IRQF_ONESHOT))
1083 goto mismatch; 1086 goto mismatch;
1084 1087
1085 /* All handlers must agree on per-cpuness */ 1088 /* All handlers must agree on per-cpuness */