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

mailbox: qcom-cpucp: Mark the irq with IRQF_NO_SUSPEND flag

The qcom-cpucp mailbox irq is expected to function during suspend-resume
cycle particularly when the scmi cpufreq driver can query the current
frequency using the get_level message after the cpus are brought up during
resume. Hence mark the irq with IRQF_NO_SUSPEND flag to fix the do_xfer
failures we see during resume.

Err Logs:
arm-scmi firmware:scmi: timed out in resp(caller:do_xfer+0x164/0x568)
cpufreq: cpufreq_online: ->get() failed

Reported-by: Johan Hovold <johan+linaro@kernel.org>
Closes: https://lore.kernel.org/lkml/ZtgFj1y5ggipgEOS@hovoldconsulting.com/
Fixes: 0e2a9a03106c ("mailbox: Add support for QTI CPUCP mailbox controller")
Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>

authored by

Sibi Sankar and committed by
Jassi Brar
bfa0e78d 08fb6d8f

+1 -1
+1 -1
drivers/mailbox/qcom-cpucp-mbox.c
··· 138 138 return irq; 139 139 140 140 ret = devm_request_irq(dev, irq, qcom_cpucp_mbox_irq_fn, 141 - IRQF_TRIGGER_HIGH, "apss_cpucp_mbox", cpucp); 141 + IRQF_TRIGGER_HIGH | IRQF_NO_SUSPEND, "apss_cpucp_mbox", cpucp); 142 142 if (ret < 0) 143 143 return dev_err_probe(dev, ret, "Failed to register irq: %d\n", irq); 144 144