@@ -369,8 +369,8 @@ static int apple_mbox_probe(struct platform_device *pdev)
ret = devm_request_threaded_irq(dev, mbox->irq_recv_not_empty, NULL,
apple_mbox_recv_irq,
- IRQF_NO_AUTOEN | IRQF_ONESHOT, irqname,
- mbox);
+ IRQF_NO_AUTOEN | IRQF_ONESHOT | IRQF_NO_SUSPEND,
+ irqname, mbox);
if (ret)
return ret;
@@ -378,9 +378,8 @@ static int apple_mbox_probe(struct platform_device *pdev)
if (!irqname)
return -ENOMEM;
- ret = devm_request_irq(dev, mbox->irq_send_empty,
- apple_mbox_send_empty_irq, IRQF_NO_AUTOEN,
- irqname, mbox);
+ ret = devm_request_irq(dev, mbox->irq_send_empty, apple_mbox_send_empty_irq,
+ IRQF_NO_AUTOEN | IRQF_NO_SUSPEND, irqname, mbox);
if (ret)
return ret;
Some consumers (notably SMC) need to be wakeup sources for s2idle, so the IRQs need to stay enabled during suspend. We expect consumers to properly suspend coprocessors such that no IRQs would be triggered where not necessary, so this can be done unconditionally. Signed-off-by: Hector Martin <marcan@marcan.st> --- drivers/mailbox/apple-mailbox.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)