From: Greg Kroah-Hartman Date: Mon, 19 Jan 2026 11:15:46 +0000 (+0100) Subject: 5.10-stable patches X-Git-Tag: v5.15.198~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5cb56a0087b3e3a0e025143fa0d6d4fae51381f;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: firmware-imx-scu-irq-set-mu_resource_id-before-get-handle.patch --- diff --git a/queue-5.10/firmware-imx-scu-irq-set-mu_resource_id-before-get-handle.patch b/queue-5.10/firmware-imx-scu-irq-set-mu_resource_id-before-get-handle.patch new file mode 100644 index 0000000000..1fe7ff340e --- /dev/null +++ b/queue-5.10/firmware-imx-scu-irq-set-mu_resource_id-before-get-handle.patch @@ -0,0 +1,64 @@ +From ff3f9913bc0749364fbfd86ea62ba2d31c6136c8 Mon Sep 17 00:00:00 2001 +From: Peng Fan +Date: Fri, 17 Oct 2025 09:56:27 +0800 +Subject: firmware: imx: scu-irq: Set mu_resource_id before get handle + +From: Peng Fan + +commit ff3f9913bc0749364fbfd86ea62ba2d31c6136c8 upstream. + +mu_resource_id is referenced in imx_scu_irq_get_status() and +imx_scu_irq_group_enable() which could be used by other modules, so +need to set correct value before using imx_sc_irq_ipc_handle in +SCU API call. + +Reviewed-by: Frank Li +Signed-off-by: Peng Fan +Signed-off-by: Shawn Guo +Fixes: 81fb53feb66a ("firmware: imx: scu-irq: Init workqueue before request mbox channel") +Cc: Ben Hutchings +Signed-off-by: Greg Kroah-Hartman +--- + drivers/firmware/imx/imx-scu-irq.c | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +--- a/drivers/firmware/imx/imx-scu-irq.c ++++ b/drivers/firmware/imx/imx-scu-irq.c +@@ -137,6 +137,18 @@ int imx_scu_enable_general_irq_channel(s + struct mbox_chan *ch; + int ret = 0, i = 0; + ++ if (!of_parse_phandle_with_args(dev->of_node, "mboxes", ++ "#mbox-cells", 0, &spec)) { ++ i = of_alias_get_id(spec.np, "mu"); ++ of_node_put(spec.np); ++ } ++ ++ /* use mu1 as general mu irq channel if failed */ ++ if (i < 0) ++ i = 1; ++ ++ mu_resource_id = IMX_SC_R_MU_0A + i; ++ + ret = imx_scu_get_handle(&imx_sc_irq_ipc_handle); + if (ret) + return ret; +@@ -159,18 +171,6 @@ int imx_scu_enable_general_irq_channel(s + return ret; + } + +- if (!of_parse_phandle_with_args(dev->of_node, "mboxes", +- "#mbox-cells", 0, &spec)) { +- i = of_alias_get_id(spec.np, "mu"); +- of_node_put(spec.np); +- } +- +- /* use mu1 as general mu irq channel if failed */ +- if (i < 0) +- i = 1; +- +- mu_resource_id = IMX_SC_R_MU_0A + i; +- + return ret; + } + EXPORT_SYMBOL(imx_scu_enable_general_irq_channel); diff --git a/queue-5.10/series b/queue-5.10/series index 4245cf678e..1669bcd8aa 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -433,3 +433,4 @@ powercap-fix-sscanf-error-return-value-handling.patch can-j1939-make-j1939_session_activate-fail-if-device.patch asoc-fsl_sai-add-missing-registers-to-cache-default.patch scsi-sg-fix-occasional-bogus-elapsed-time-that-excee.patch +firmware-imx-scu-irq-set-mu_resource_id-before-get-handle.patch