This is a note to let you know that I've just added the patch titled Revert "interconnect: Fix locking for runpm vs reclaim" to the 5.15-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: revert-interconnect-fix-locking-for-runpm-vs-reclaim.patch and it can be found in the queue-5.15 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 23136f3ba8684434422f28d004e589e3887cbac6 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon, 4 Mar 2024 14:10:12 +0100 Subject: Revert "interconnect: Fix locking for runpm vs reclaim" From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> This reverts commit 9be2957f014d91088db1eb5dd09d9a03d7184dce which is commit af42269c3523492d71ebbe11fefae2653e9cdc78 upstream. It is reported to cause boot crashes in Android systems, so revert it from the stable trees for now. Cc: Rob Clark <robdclark@xxxxxxxxxxxx> Cc: Georgi Djakov <djakov@xxxxxxxxxx> Cc: Sasha Levin <sashal@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/interconnect/core.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) --- a/drivers/interconnect/core.c +++ b/drivers/interconnect/core.c @@ -30,7 +30,6 @@ static LIST_HEAD(icc_providers); static int providers_count; static bool synced_state; static DEFINE_MUTEX(icc_lock); -static DEFINE_MUTEX(icc_bw_lock); static struct dentry *icc_debugfs_dir; static void icc_summary_show_one(struct seq_file *s, struct icc_node *n) @@ -637,7 +636,7 @@ int icc_set_bw(struct icc_path *path, u3 if (WARN_ON(IS_ERR(path) || !path->num_nodes)) return -EINVAL; - mutex_lock(&icc_bw_lock); + mutex_lock(&icc_lock); old_avg = path->reqs[0].avg_bw; old_peak = path->reqs[0].peak_bw; @@ -669,7 +668,7 @@ int icc_set_bw(struct icc_path *path, u3 apply_constraints(path); } - mutex_unlock(&icc_bw_lock); + mutex_unlock(&icc_lock); trace_icc_set_bw_end(path, ret); @@ -972,7 +971,6 @@ void icc_node_add(struct icc_node *node, return; mutex_lock(&icc_lock); - mutex_lock(&icc_bw_lock); node->provider = provider; list_add_tail(&node->node_list, &provider->nodes); @@ -998,7 +996,6 @@ void icc_node_add(struct icc_node *node, node->avg_bw = 0; node->peak_bw = 0; - mutex_unlock(&icc_bw_lock); mutex_unlock(&icc_lock); } EXPORT_SYMBOL_GPL(icc_node_add); @@ -1126,7 +1123,6 @@ void icc_sync_state(struct device *dev) return; mutex_lock(&icc_lock); - mutex_lock(&icc_bw_lock); synced_state = true; list_for_each_entry(p, &icc_providers, provider_list) { dev_dbg(p->dev, "interconnect provider is in synced state\n"); Patches currently in stable-queue which might be from gregkh@xxxxxxxxxxxxxxxxxxx are queue-5.15/revert-drm-bridge-lt8912b-register-and-attach-our-dsi-device-at-probe.patch queue-5.15/mptcp-push-at-dss-boundaries.patch queue-5.15/selftests-mptcp-add-missing-kconfig-for-nf-filter.patch queue-5.15/mmc-core-fix-emmc-initialization-with-1-bit-bus-connection.patch queue-5.15/alsa-firewire-lib-fix-to-check-cycle-continuity.patch queue-5.15/netfilter-nf_tables-disallow-timeout-for-anonymous-sets.patch queue-5.15/af_unix-drop-oob_skb-ref-before-purging-queue-in-gc.patch queue-5.15/selftests-mptcp-add-missing-kconfig-for-nf-filter-in-v6.patch queue-5.15/dmaengine-ptdma-use-consistent-dma-masks.patch queue-5.15/dmaengine-fsl-qdma-init-irq-after-reg-initialization.patch queue-5.15/mptcp-add-needs_id-for-netlink-appending-addr.patch queue-5.15/mptcp-rename-timer-related-helper-to-less-confusing-names.patch queue-5.15/fs-aio-make-io_cancel-generate-completions-again.patch queue-5.15/riscv-add-caller_addrx-support.patch queue-5.15/wifi-nl80211-reject-iftype-change-with-mesh-id-change.patch queue-5.15/mptcp-process-pending-subflow-error-on-close.patch queue-5.15/revert-interconnect-fix-locking-for-runpm-vs-reclaim.patch queue-5.15/x86-cpu-intel-detect-tme-keyid-bits-before-setting-mtrr-mask-registers.patch queue-5.15/mptcp-fix-possible-deadlock-in-subflow-diag.patch queue-5.15/mmc-sdhci-xenon-fix-phy-init-clock-stability.patch queue-5.15/tomoyo-fix-uaf-write-bug-in-tomoyo_write_control.patch queue-5.15/mptcp-clean-up-harmless-false-expressions.patch queue-5.15/fs-hugetlb-fix-null-pointer-dereference-in-hugetlbs_fill_super.patch queue-5.15/gtp-fix-use-after-free-and-null-ptr-deref-in-gtp_newlink.patch queue-5.15/revert-interconnect-teach-lockdep-about-icc_bw_lock-order.patch queue-5.15/btrfs-dev-replace-properly-validate-device-names.patch queue-5.15/mptcp-move-__mptcp_error_report-in-protocol.c.patch queue-5.15/pmdomain-qcom-rpmhpd-fix-enabled_corner-aggregation.patch queue-5.15/cachefiles-fix-memory-leak-in-cachefiles_add_cache.patch queue-5.15/mmc-sdhci-xenon-add-timeout-for-phy-init-complete.patch queue-5.15/dmaengine-fsl-qdma-fix-soc-may-hang-on-16-byte-unaligned-read.patch