]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 May 2021 13:06:41 +0000 (15:06 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 May 2021 13:06:41 +0000 (15:06 +0200)
added patches:
asoc-rsnd-check-all-busif-status-when-error.patch
clk-exynos7-mark-aclk_fsys1_200-as-critical.patch
nvme-do-not-try-to-reconfigure-apst-when-the-controller-is-not-live.patch

queue-5.4/asoc-rsnd-check-all-busif-status-when-error.patch [new file with mode: 0644]
queue-5.4/clk-exynos7-mark-aclk_fsys1_200-as-critical.patch [new file with mode: 0644]
queue-5.4/nvme-do-not-try-to-reconfigure-apst-when-the-controller-is-not-live.patch [new file with mode: 0644]
queue-5.4/series

diff --git a/queue-5.4/asoc-rsnd-check-all-busif-status-when-error.patch b/queue-5.4/asoc-rsnd-check-all-busif-status-when-error.patch
new file mode 100644 (file)
index 0000000..af13d48
--- /dev/null
@@ -0,0 +1,41 @@
+From a4856e15e58b54977f1c0c0299309ad4d1f13365 Mon Sep 17 00:00:00 2001
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Date: Thu, 8 Apr 2021 13:28:47 +0900
+Subject: ASoC: rsnd: check all BUSIF status when error
+
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+
+commit a4856e15e58b54977f1c0c0299309ad4d1f13365 upstream.
+
+commit 66c705d07d784 ("SoC: rsnd: add interrupt support for SSI BUSIF
+buffer") adds __rsnd_ssi_interrupt() checks for BUSIF status,
+but is using "break" at for loop.
+This means it is not checking all status. Let's check all BUSIF status.
+
+Fixes: commit 66c705d07d784 ("SoC: rsnd: add interrupt support for SSI BUSIF buffer")
+Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Link: https://lore.kernel.org/r/874kgh1jsw.wl-kuninori.morimoto.gx@renesas.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/soc/sh/rcar/ssi.c |    2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/sound/soc/sh/rcar/ssi.c
++++ b/sound/soc/sh/rcar/ssi.c
+@@ -797,7 +797,6 @@ static void __rsnd_ssi_interrupt(struct
+                                                      SSI_SYS_STATUS(i * 2),
+                                                      0xf << (id * 4));
+                                       stop = true;
+-                                      break;
+                               }
+                       }
+                       break;
+@@ -815,7 +814,6 @@ static void __rsnd_ssi_interrupt(struct
+                                               SSI_SYS_STATUS((i * 2) + 1),
+                                               0xf << 4);
+                                       stop = true;
+-                                      break;
+                               }
+                       }
+                       break;
diff --git a/queue-5.4/clk-exynos7-mark-aclk_fsys1_200-as-critical.patch b/queue-5.4/clk-exynos7-mark-aclk_fsys1_200-as-critical.patch
new file mode 100644 (file)
index 0000000..76720a5
--- /dev/null
@@ -0,0 +1,50 @@
+From 34138a59b92c1a30649a18ec442d2e61f3bc34dd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Pawe=C5=82=20Chmiel?= <pawel.mikolaj.chmiel@gmail.com>
+Date: Sat, 24 Oct 2020 17:43:46 +0200
+Subject: clk: exynos7: Mark aclk_fsys1_200 as critical
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: PaweÅ‚ Chmiel <pawel.mikolaj.chmiel@gmail.com>
+
+commit 34138a59b92c1a30649a18ec442d2e61f3bc34dd upstream.
+
+This clock must be always enabled to allow access to any registers in
+fsys1 CMU. Until proper solution based on runtime PM is applied
+(similar to what was done for Exynos5433), mark that clock as critical
+so it won't be disabled.
+
+It was observed on Samsung Galaxy S6 device (based on Exynos7420), where
+UFS module is probed before pmic used to power that device.
+In this case defer probe was happening and that clock was disabled by
+UFS driver, causing whole boot to hang on next CMU access.
+
+Fixes: 753195a749a6 ("clk: samsung: exynos7: Correct CMU_FSYS1 clocks names")
+Signed-off-by: PaweÅ‚ Chmiel <pawel.mikolaj.chmiel@gmail.com>
+Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
+Link: https://lore.kernel.org/linux-clk/20201024154346.9589-1-pawel.mikolaj.chmiel@gmail.com
+[s.nawrocki: Added comment in the code]
+Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/clk/samsung/clk-exynos7.c |    7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/drivers/clk/samsung/clk-exynos7.c
++++ b/drivers/clk/samsung/clk-exynos7.c
+@@ -537,8 +537,13 @@ static const struct samsung_gate_clock t
+       GATE(CLK_ACLK_FSYS0_200, "aclk_fsys0_200", "dout_aclk_fsys0_200",
+               ENABLE_ACLK_TOP13, 28, CLK_SET_RATE_PARENT |
+               CLK_IS_CRITICAL, 0),
++      /*
++       * This clock is required for the CMU_FSYS1 registers access, keep it
++       * enabled permanently until proper runtime PM support is added.
++       */
+       GATE(CLK_ACLK_FSYS1_200, "aclk_fsys1_200", "dout_aclk_fsys1_200",
+-              ENABLE_ACLK_TOP13, 24, CLK_SET_RATE_PARENT, 0),
++              ENABLE_ACLK_TOP13, 24, CLK_SET_RATE_PARENT |
++              CLK_IS_CRITICAL, 0),
+       GATE(CLK_SCLK_PHY_FSYS1_26M, "sclk_phy_fsys1_26m",
+               "dout_sclk_phy_fsys1_26m", ENABLE_SCLK_TOP1_FSYS11,
diff --git a/queue-5.4/nvme-do-not-try-to-reconfigure-apst-when-the-controller-is-not-live.patch b/queue-5.4/nvme-do-not-try-to-reconfigure-apst-when-the-controller-is-not-live.patch
new file mode 100644 (file)
index 0000000..39e0829
--- /dev/null
@@ -0,0 +1,35 @@
+From 53fe2a30bc168db9700e00206d991ff934973cf1 Mon Sep 17 00:00:00 2001
+From: Christoph Hellwig <hch@lst.de>
+Date: Fri, 9 Apr 2021 11:46:12 +0200
+Subject: nvme: do not try to reconfigure APST when the controller is not live
+
+From: Christoph Hellwig <hch@lst.de>
+
+commit 53fe2a30bc168db9700e00206d991ff934973cf1 upstream.
+
+Do not call nvme_configure_apst when the controller is not live, given
+that nvme_configure_apst will fail due the lack of an admin queue when
+the controller is being torn down and nvme_set_latency_tolerance is
+called from dev_pm_qos_hide_latency_tolerance.
+
+Fixes: 510a405d945b("nvme: fix memory leak for power latency tolerance")
+Reported-by: Peng Liu <liupeng17@lenovo.com>
+Signed-off-by: Christoph Hellwig <hch@lst.de>
+Reviewed-by: Keith Busch <kbusch@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/nvme/host/core.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/nvme/host/core.c
++++ b/drivers/nvme/host/core.c
+@@ -2414,7 +2414,8 @@ static void nvme_set_latency_tolerance(s
+       if (ctrl->ps_max_latency_us != latency) {
+               ctrl->ps_max_latency_us = latency;
+-              nvme_configure_apst(ctrl);
++              if (ctrl->state == NVME_CTRL_LIVE)
++                      nvme_configure_apst(ctrl);
+       }
+ }
index 1eb1679089e6f272c317d351f430c957cf339d9b..02f7d1761d68a1f94b786645d32f856c403e24ee 100644 (file)
@@ -136,3 +136,6 @@ arm-9027-1-head.s-explicitly-map-dt-even-if-it-lives-in-the-first-physical-secti
 usb-typec-tcpm-fix-error-while-calculating-pps-out-values.patch
 kobject_uevent-remove-warning-in-init_uevent_argv.patch
 netfilter-conntrack-make-global-sysctls-readonly-in-non-init-netns.patch
+clk-exynos7-mark-aclk_fsys1_200-as-critical.patch
+nvme-do-not-try-to-reconfigure-apst-when-the-controller-is-not-live.patch
+asoc-rsnd-check-all-busif-status-when-error.patch