[PATCH] irqchip/gic-v3: Fix gic_chip specific flag

From: fangxiang
Date: Mon Jan 29 2018 - 21:57:10 EST


Both IRQCHIP_SKIP_SET_WAKE and .irq_set_wake() is
not set in gic_chip V3. This causes
set_irq_wake_real() return -ENXIO and a
WARN(Unbalanced IRQ ... wake disable ...) in
irq_set_irq_wake().

Signed-off-by: fangxiang <fangxiang3@xxxxxxxxxx>
---
drivers/irqchip/irq-gic-v3.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
index b56c3e2..e8104b8 100644
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3.c
@@ -800,7 +800,8 @@ static inline void gic_cpu_pm_init(void) { }
.irq_set_affinity = gic_set_affinity,
.irq_get_irqchip_state = gic_irq_get_irqchip_state,
.irq_set_irqchip_state = gic_irq_set_irqchip_state,
- .flags = IRQCHIP_SET_TYPE_MASKED,
+ .flags = IRQCHIP_SET_TYPE_MASKED |
+ IRQCHIP_SKIP_SET_WAKE,
};

static struct irq_chip gic_eoimode1_chip = {
--
1.7.9.5