[tip:irq/core] genirq: Set irq masked state when initializing irq_desc
From: tip-bot for Jeffy Chen
Date: Mon Jun 26 2017 - 10:00:54 EST
Commit-ID: d829b8fb2431595422289cfc210f0a955a8bec74
Gitweb: http://git.kernel.org/tip/d829b8fb2431595422289cfc210f0a955a8bec74
Author: Jeffy Chen <jeffy.chen@xxxxxxxxxxxxxx>
AuthorDate: Mon, 26 Jun 2017 19:33:33 +0800
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitDate: Mon, 26 Jun 2017 14:05:41 +0200
genirq: Set irq masked state when initializing irq_desc
The irq default state is set to disabled when allocating irq desc, but the
masked state flag is not set. This is inconsistent vs. the state tracking
logic which is used to prevent unnecessary calls to hardware level irq chip
functions.
Set the masked state flag as well.
Signed-off-by: Jeffy Chen <jeffy.chen@xxxxxxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: tfiga@xxxxxxxxxxxx
Cc: briannorris@xxxxxxxxxxxx
Cc: dianders@xxxxxxxxxxxx
Link: http://lkml.kernel.org/r/1498476814-12563-1-git-send-email-jeffy.chen@xxxxxxxxxxxxxx
---
kernel/irq/irqdesc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 35a95fa..948b50e 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -116,6 +116,7 @@ static void desc_set_defaults(unsigned int irq, struct irq_desc *desc, int node,
desc->irq_data.chip_data = NULL;
irq_settings_clr_and_set(desc, ~0, _IRQ_DEFAULT_INIT_FLAGS);
irqd_set(&desc->irq_data, IRQD_IRQ_DISABLED);
+ irqd_set(&desc->irq_data, IRQD_IRQ_MASKED);
desc->handle_irq = handle_bad_irq;
desc->depth = 1;
desc->irq_count = 0;