]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mailbox: cix: Add IRQF_NO_SUSPEND to mailbox interrupt
authorDylan Wu <fredwudi0305@gmail.com>
Mon, 9 Feb 2026 08:34:52 +0000 (16:34 +0800)
committerJassi Brar <jassisinghbrar@gmail.com>
Sun, 29 Mar 2026 16:31:58 +0000 (11:31 -0500)
During the system suspend process, device interrupts are masked in the
noirq phase. However, SCMI often needs to exchange final messages with the
firmware to complete the power-down transition. Without the IRQF_NO_SUSPEND
flag, the mailbox ISR cannot run during this late stage, leading to SCMI
communication timeouts and error messages like "SCMI protocol wait for
resp timeout" during suspend.

Add the IRQF_NO_SUSPEND flag to the interrupt request to ensure the mailbox
can continue to handle responses during the noirq stages of suspend and
resume, thereby ensuring a reliable power state transition.

Signed-off-by: Dylan Wu <fredwudi0305@gmail.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
drivers/mailbox/cix-mailbox.c

index 864f98f21fc3c0b9dc1b0fb9d95159541843af50..8cfaa91b75bd25bd843335802e8d81c52f883901 100644 (file)
@@ -403,7 +403,7 @@ static int cix_mbox_startup(struct mbox_chan *chan)
        int index = cp->index, ret;
        u32 val;
 
-       ret = request_irq(priv->irq, cix_mbox_isr, 0,
+       ret = request_irq(priv->irq, cix_mbox_isr, IRQF_NO_SUSPEND,
                          dev_name(priv->dev), chan);
        if (ret) {
                dev_err(priv->dev, "Unable to acquire IRQ %d\n", priv->irq);