--- /dev/null
+From mizo@atmark-techno.com Mon Apr 15 13:17:44 2024
+From: Daisuke Mizobuchi <mizo@atmark-techno.com>
+Date: Fri, 12 Apr 2024 14:21:33 +0900
+Subject: mailbox: imx: fix suspend failue
+To: stable@vger.kernel.org
+Message-ID: <20240412052133.1805029-1-mizo@atmark-techno.com>
+
+From: Daisuke Mizobuchi <mizo@atmark-techno.com>
+
+When an interrupt occurs, it always wakes up.
+
+Suspend fails as follows:
+ armadillo:~# echo mem > /sys/power/state
+ [ 2614.602432] PM: suspend entry (deep)
+ [ 2614.610640] Filesystems sync: 0.004 seconds
+ [ 2614.618016] Freezing user space processes ... (elapsed 0.001 seconds) done.
+ [ 2614.626555] OOM killer disabled.
+ [ 2614.629792] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
+ [ 2614.638456] printk: Suspending console(s) (use no_console_suspend to debug)
+ [ 2614.649504] PM: Some devices failed to suspend, or early wake event detected
+ [ 2614.730103] PM: resume devices took 0.080 seconds
+ [ 2614.741924] OOM killer enabled.
+ [ 2614.745073] Restarting tasks ... done.
+ [ 2614.754532] PM: suspend exit
+ ash: write error: Resource busy
+ armadillo:~#
+
+Upstream is correct, so it seems to be a mistake in cheery-pick.
+
+Cc: <stable@vger.kernel.org>
+Fixes: a16f5ae8ade1 ("mailbox: imx: fix wakeup failure from freeze mode")
+Signed-off-by: Daisuke Mizobuchi <mizo@atmark-techno.com>
+Reviewed-by: Dominique Martinet <dominique.martinet@atmark-techno.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/mailbox/imx-mailbox.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/drivers/mailbox/imx-mailbox.c
++++ b/drivers/mailbox/imx-mailbox.c
+@@ -331,8 +331,6 @@ static int imx_mu_startup(struct mbox_ch
+ break;
+ }
+
+- priv->suspend = true;
+-
+ return 0;
+ }
+
+@@ -550,8 +548,6 @@ static int imx_mu_probe(struct platform_
+
+ clk_disable_unprepare(priv->clk);
+
+- priv->suspend = false;
+-
+ return 0;
+
+ disable_runtime_pm:
+@@ -614,6 +610,8 @@ static int __maybe_unused imx_mu_suspend
+ if (!priv->clk)
+ priv->xcr = imx_mu_read(priv, priv->dcfg->xCR);
+
++ priv->suspend = true;
++
+ return 0;
+ }
+
+@@ -632,6 +630,8 @@ static int __maybe_unused imx_mu_resume_
+ if (!imx_mu_read(priv, priv->dcfg->xCR) && !priv->clk)
+ imx_mu_write(priv, priv->xcr, priv->dcfg->xCR);
+
++ priv->suspend = false;
++
+ return 0;
+ }
+