Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

mailbox: cix: Add IRQF_NO_SUSPEND to mailbox interrupt

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>

authored by

Dylan Wu and committed by
Jassi Brar
80784b42 c58e9456

+1 -1
+1 -1
drivers/mailbox/cix-mailbox.c
··· 403 403 int index = cp->index, ret; 404 404 u32 val; 405 405 406 - ret = request_irq(priv->irq, cix_mbox_isr, 0, 406 + ret = request_irq(priv->irq, cix_mbox_isr, IRQF_NO_SUSPEND, 407 407 dev_name(priv->dev), chan); 408 408 if (ret) { 409 409 dev_err(priv->dev, "Unable to acquire IRQ %d\n", priv->irq);