]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.1-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 11:16:03 +0000 (12:16 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 11:16:03 +0000 (12:16 +0100)
added patches:
firmware-imx-scu-irq-set-mu_resource_id-before-get-handle.patch
series

queue-6.1/firmware-imx-scu-irq-set-mu_resource_id-before-get-handle.patch [new file with mode: 0644]
queue-6.1/series [new file with mode: 0644]

diff --git a/queue-6.1/firmware-imx-scu-irq-set-mu_resource_id-before-get-handle.patch b/queue-6.1/firmware-imx-scu-irq-set-mu_resource_id-before-get-handle.patch
new file mode 100644 (file)
index 0000000..1fe7ff3
--- /dev/null
@@ -0,0 +1,64 @@
+From ff3f9913bc0749364fbfd86ea62ba2d31c6136c8 Mon Sep 17 00:00:00 2001
+From: Peng Fan <peng.fan@nxp.com>
+Date: Fri, 17 Oct 2025 09:56:27 +0800
+Subject: firmware: imx: scu-irq: Set mu_resource_id before get handle
+
+From: Peng Fan <peng.fan@nxp.com>
+
+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 <Frank.Li@nxp.com>
+Signed-off-by: Peng Fan <peng.fan@nxp.com>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+Fixes: 81fb53feb66a ("firmware: imx: scu-irq: Init workqueue before request mbox channel")
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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-6.1/series b/queue-6.1/series
new file mode 100644 (file)
index 0000000..db60964
--- /dev/null
@@ -0,0 +1 @@
+firmware-imx-scu-irq-set-mu_resource_id-before-get-handle.patch