Merge tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[platform/adaptation/renesas_rcar/renesas_kernel.git] / kernel / irq / pm.c
index 15e53b1..cb228bf 100644 (file)
@@ -103,8 +103,13 @@ int check_wakeup_irqs(void)
        int irq;
 
        for_each_irq_desc(irq, desc) {
+               /*
+                * Only interrupts which are marked as wakeup source
+                * and have not been disabled before the suspend check
+                * can abort suspend.
+                */
                if (irqd_is_wakeup_set(&desc->irq_data)) {
-                       if (desc->istate & IRQS_PENDING)
+                       if (desc->depth == 1 && desc->istate & IRQS_PENDING)
                                return -EBUSY;
                        continue;
                }