genirq/PM: Restore system wake up from chained interrupts
[firefly-linux-kernel-4.4.55.git] / kernel / irq / pm.c
index 21c62617a35a6dae316b22221b3b4896317faedd..84ab239a00e27f868ff08d92d06ae5457ec071d8 100644 (file)
@@ -70,7 +70,8 @@ void irq_pm_remove_action(struct irq_desc *desc, struct irqaction *action)
 
 static bool suspend_device_irq(struct irq_desc *desc)
 {
-       if (!desc->action || desc->no_suspend_depth)
+       if (!desc->action || irq_desc_is_chained(desc) ||
+           desc->no_suspend_depth)
                return false;
 
        if (irqd_is_wakeup_set(&desc->irq_data)) {