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 <fangxia...@huawei.com>
---
 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

Reply via email to