From 10075d0609cd02a3a4753fe3e9e80bc18dcf0514 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 17 May 2021 15:06:41 +0200 Subject: [PATCH] 5.4-stable patches 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 --- ...nd-check-all-busif-status-when-error.patch | 41 +++++++++++++++ ...nos7-mark-aclk_fsys1_200-as-critical.patch | 50 +++++++++++++++++++ ...apst-when-the-controller-is-not-live.patch | 35 +++++++++++++ queue-5.4/series | 3 ++ 4 files changed, 129 insertions(+) create mode 100644 queue-5.4/asoc-rsnd-check-all-busif-status-when-error.patch create mode 100644 queue-5.4/clk-exynos7-mark-aclk_fsys1_200-as-critical.patch create mode 100644 queue-5.4/nvme-do-not-try-to-reconfigure-apst-when-the-controller-is-not-live.patch 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 index 00000000000..af13d48e248 --- /dev/null +++ b/queue-5.4/asoc-rsnd-check-all-busif-status-when-error.patch @@ -0,0 +1,41 @@ +From a4856e15e58b54977f1c0c0299309ad4d1f13365 Mon Sep 17 00:00:00 2001 +From: Kuninori Morimoto +Date: Thu, 8 Apr 2021 13:28:47 +0900 +Subject: ASoC: rsnd: check all BUSIF status when error + +From: Kuninori Morimoto + +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 +Link: https://lore.kernel.org/r/874kgh1jsw.wl-kuninori.morimoto.gx@renesas.com +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..76720a58fb8 --- /dev/null +++ b/queue-5.4/clk-exynos7-mark-aclk_fsys1_200-as-critical.patch @@ -0,0 +1,50 @@ +From 34138a59b92c1a30649a18ec442d2e61f3bc34dd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Pawe=C5=82=20Chmiel?= +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 + +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 +Acked-by: Krzysztof Kozlowski +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 +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..39e0829cef8 --- /dev/null +++ b/queue-5.4/nvme-do-not-try-to-reconfigure-apst-when-the-controller-is-not-live.patch @@ -0,0 +1,35 @@ +From 53fe2a30bc168db9700e00206d991ff934973cf1 Mon Sep 17 00:00:00 2001 +From: Christoph Hellwig +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 + +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 +Signed-off-by: Christoph Hellwig +Reviewed-by: Keith Busch +Signed-off-by: Greg Kroah-Hartman +--- + 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); + } + } + diff --git a/queue-5.4/series b/queue-5.4/series index 1eb1679089e..02f7d1761d6 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -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 -- 2.47.3