diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/base/sys.c | 6 | ||||
-rw-r--r-- | drivers/xen/events.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/drivers/base/sys.c b/drivers/base/sys.c index 0d903909af7..3f202f71e4d 100644 --- a/drivers/base/sys.c +++ b/drivers/base/sys.c @@ -471,6 +471,12 @@ int sysdev_resume(void) { struct sysdev_class *cls; + /* + * Called from syscore in mainline but called directly here + * since syscore does not exist in this tree. + */ + irq_pm_syscore_resume(); + WARN_ONCE(!irqs_disabled(), "Interrupts enabled while resuming system devices\n"); diff --git a/drivers/xen/events.c b/drivers/xen/events.c index 009ca4e78df..15ed43e47d7 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -536,7 +536,7 @@ int bind_ipi_to_irqhandler(enum ipi_vector ipi, if (irq < 0) return irq; - irqflags |= IRQF_NO_SUSPEND | IRQF_FORCE_RESUME; + irqflags |= IRQF_NO_SUSPEND | IRQF_FORCE_RESUME | IRQF_EARLY_RESUME; retval = request_irq(irq, handler, irqflags, devname, dev_id); if (retval != 0) { unbind_from_irq(irq); |