diff options
Diffstat (limited to 'kernel/irq/manage.c')
-rw-r--r-- | kernel/irq/manage.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 3dc6a61bf06a..88657d7bc9dd 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c | |||
@@ -385,7 +385,8 @@ setup_affinity(unsigned int irq, struct irq_desc *desc, struct cpumask *mask) | |||
385 | void __disable_irq(struct irq_desc *desc, unsigned int irq, bool suspend) | 385 | void __disable_irq(struct irq_desc *desc, unsigned int irq, bool suspend) |
386 | { | 386 | { |
387 | if (suspend) { | 387 | if (suspend) { |
388 | if (!desc->action || (desc->action->flags & IRQF_NO_SUSPEND)) | 388 | if (!desc->action || (desc->action->flags & IRQF_NO_SUSPEND) || |
389 | irqd_has_set(&desc->irq_data, IRQD_WAKEUP_STATE)) | ||
389 | return; | 390 | return; |
390 | desc->istate |= IRQS_SUSPENDED; | 391 | desc->istate |= IRQS_SUSPENDED; |
391 | } | 392 | } |