From: Sasha Levin Date: Mon, 27 Mar 2023 20:27:33 +0000 (-0400) Subject: Drop some interconnect patches from older trees X-Git-Tag: v5.15.105~50 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=01b856298d34ff3635f32ea8855e7f1892538cb8;p=thirdparty%2Fkernel%2Fstable-queue.git Drop some interconnect patches from older trees --- diff --git a/queue-5.10/interconnect-qcom-msm8974-fix-registration-race.patch b/queue-5.10/interconnect-qcom-msm8974-fix-registration-race.patch deleted file mode 100644 index cd97e519986..00000000000 --- a/queue-5.10/interconnect-qcom-msm8974-fix-registration-race.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 5fd4966c1caea8556e7282bd687faa91ec91deb5 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 6 Mar 2023 08:56:39 +0100 -Subject: interconnect: qcom: msm8974: fix registration race - -From: Johan Hovold - -[ Upstream commit bfe7bcd2b9f5215de2144f097f39971180e7ea54 ] - -The current interconnect provider registration interface is inherently -racy as nodes are not added until the after adding the provider. This -can specifically cause racing DT lookups to fail. - -Switch to using the new API where the provider is not registered until -after it has been fully initialised. - -Fixes: 4e60a9568dc6 ("interconnect: qcom: add msm8974 driver") -Cc: stable@vger.kernel.org # 5.5 -Reviewed-by: Brian Masney -Reviewed-by: Konrad Dybcio -Signed-off-by: Johan Hovold -Link: https://lore.kernel.org/r/20230306075651.2449-12-johan+linaro@kernel.org -Signed-off-by: Georgi Djakov -Signed-off-by: Sasha Levin ---- - drivers/interconnect/qcom/msm8974.c | 22 ++++++++++------------ - 1 file changed, 10 insertions(+), 12 deletions(-) - -diff --git a/drivers/interconnect/qcom/msm8974.c b/drivers/interconnect/qcom/msm8974.c -index da68ce375a89d..e1489930191d2 100644 ---- a/drivers/interconnect/qcom/msm8974.c -+++ b/drivers/interconnect/qcom/msm8974.c -@@ -692,7 +692,6 @@ static int msm8974_icc_probe(struct platform_device *pdev) - return ret; - - provider = &qp->provider; -- INIT_LIST_HEAD(&provider->nodes); - provider->dev = dev; - provider->set = msm8974_icc_set; - provider->aggregate = icc_std_aggregate; -@@ -700,11 +699,7 @@ static int msm8974_icc_probe(struct platform_device *pdev) - provider->data = data; - provider->get_bw = msm8974_get_bw; - -- ret = icc_provider_add(provider); -- if (ret) { -- dev_err(dev, "error adding interconnect provider: %d\n", ret); -- goto err_disable_clks; -- } -+ icc_provider_init(provider); - - for (i = 0; i < num_nodes; i++) { - size_t j; -@@ -712,7 +707,7 @@ static int msm8974_icc_probe(struct platform_device *pdev) - node = icc_node_create(qnodes[i]->id); - if (IS_ERR(node)) { - ret = PTR_ERR(node); -- goto err_del_icc; -+ goto err_remove_nodes; - } - - node->name = qnodes[i]->name; -@@ -729,15 +724,16 @@ static int msm8974_icc_probe(struct platform_device *pdev) - } - data->num_nodes = num_nodes; - -+ ret = icc_provider_register(provider); -+ if (ret) -+ goto err_remove_nodes; -+ - platform_set_drvdata(pdev, qp); - - return 0; - --err_del_icc: -+err_remove_nodes: - icc_nodes_remove(provider); -- icc_provider_del(provider); -- --err_disable_clks: - clk_bulk_disable_unprepare(qp->num_clks, qp->bus_clks); - - return ret; -@@ -747,9 +743,11 @@ static int msm8974_icc_remove(struct platform_device *pdev) - { - struct msm8974_icc_provider *qp = platform_get_drvdata(pdev); - -+ icc_provider_deregister(&qp->provider); - icc_nodes_remove(&qp->provider); - clk_bulk_disable_unprepare(qp->num_clks, qp->bus_clks); -- return icc_provider_del(&qp->provider); -+ -+ return 0; - } - - static const struct of_device_id msm8974_noc_of_match[] = { --- -2.39.2 - diff --git a/queue-5.10/series b/queue-5.10/series index a0194a42a9e..1d45948eb34 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -14,7 +14,6 @@ serial-fsl_lpuart-fix-comment-typo.patch tty-serial-fsl_lpuart-fix-race-on-rx-dma-shutdown.patch serial-8250-serial_8250_aspeed_vuart-should-depend-o.patch serial-8250-aspeed_vuart-select-regmap-instead-of-de.patch -interconnect-qcom-msm8974-fix-registration-race.patch drm-sun4i-fix-missing-component-unbind-on-bind-error.patch net-tls-fix-possible-race-condition-between-do_tls_g.patch power-supply-bq24190_charger-using-pm_runtime_resume.patch diff --git a/queue-5.15/interconnect-qcom-msm8974-fix-registration-race.patch b/queue-5.15/interconnect-qcom-msm8974-fix-registration-race.patch deleted file mode 100644 index bd9f2d5f328..00000000000 --- a/queue-5.15/interconnect-qcom-msm8974-fix-registration-race.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 92015aa453274281fe320010b17d87d74fb43b68 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 6 Mar 2023 08:56:39 +0100 -Subject: interconnect: qcom: msm8974: fix registration race - -From: Johan Hovold - -[ Upstream commit bfe7bcd2b9f5215de2144f097f39971180e7ea54 ] - -The current interconnect provider registration interface is inherently -racy as nodes are not added until the after adding the provider. This -can specifically cause racing DT lookups to fail. - -Switch to using the new API where the provider is not registered until -after it has been fully initialised. - -Fixes: 4e60a9568dc6 ("interconnect: qcom: add msm8974 driver") -Cc: stable@vger.kernel.org # 5.5 -Reviewed-by: Brian Masney -Reviewed-by: Konrad Dybcio -Signed-off-by: Johan Hovold -Link: https://lore.kernel.org/r/20230306075651.2449-12-johan+linaro@kernel.org -Signed-off-by: Georgi Djakov -Signed-off-by: Sasha Levin ---- - drivers/interconnect/qcom/msm8974.c | 22 ++++++++++------------ - 1 file changed, 10 insertions(+), 12 deletions(-) - -diff --git a/drivers/interconnect/qcom/msm8974.c b/drivers/interconnect/qcom/msm8974.c -index da68ce375a89d..e1489930191d2 100644 ---- a/drivers/interconnect/qcom/msm8974.c -+++ b/drivers/interconnect/qcom/msm8974.c -@@ -692,7 +692,6 @@ static int msm8974_icc_probe(struct platform_device *pdev) - return ret; - - provider = &qp->provider; -- INIT_LIST_HEAD(&provider->nodes); - provider->dev = dev; - provider->set = msm8974_icc_set; - provider->aggregate = icc_std_aggregate; -@@ -700,11 +699,7 @@ static int msm8974_icc_probe(struct platform_device *pdev) - provider->data = data; - provider->get_bw = msm8974_get_bw; - -- ret = icc_provider_add(provider); -- if (ret) { -- dev_err(dev, "error adding interconnect provider: %d\n", ret); -- goto err_disable_clks; -- } -+ icc_provider_init(provider); - - for (i = 0; i < num_nodes; i++) { - size_t j; -@@ -712,7 +707,7 @@ static int msm8974_icc_probe(struct platform_device *pdev) - node = icc_node_create(qnodes[i]->id); - if (IS_ERR(node)) { - ret = PTR_ERR(node); -- goto err_del_icc; -+ goto err_remove_nodes; - } - - node->name = qnodes[i]->name; -@@ -729,15 +724,16 @@ static int msm8974_icc_probe(struct platform_device *pdev) - } - data->num_nodes = num_nodes; - -+ ret = icc_provider_register(provider); -+ if (ret) -+ goto err_remove_nodes; -+ - platform_set_drvdata(pdev, qp); - - return 0; - --err_del_icc: -+err_remove_nodes: - icc_nodes_remove(provider); -- icc_provider_del(provider); -- --err_disable_clks: - clk_bulk_disable_unprepare(qp->num_clks, qp->bus_clks); - - return ret; -@@ -747,9 +743,11 @@ static int msm8974_icc_remove(struct platform_device *pdev) - { - struct msm8974_icc_provider *qp = platform_get_drvdata(pdev); - -+ icc_provider_deregister(&qp->provider); - icc_nodes_remove(&qp->provider); - clk_bulk_disable_unprepare(qp->num_clks, qp->bus_clks); -- return icc_provider_del(&qp->provider); -+ -+ return 0; - } - - static const struct of_device_id msm8974_noc_of_match[] = { --- -2.39.2 - diff --git a/queue-5.15/interconnect-qcom-rpmh-fix-registration-race.patch b/queue-5.15/interconnect-qcom-rpmh-fix-registration-race.patch deleted file mode 100644 index c8612c885c3..00000000000 --- a/queue-5.15/interconnect-qcom-rpmh-fix-registration-race.patch +++ /dev/null @@ -1,99 +0,0 @@ -From f2af30bfe98d839c192d36dfbebde92e99e297ed Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 6 Mar 2023 08:56:38 +0100 -Subject: interconnect: qcom: rpmh: fix registration race - -From: Johan Hovold - -[ Upstream commit 74240a5bebd48d8b843c6d0f1acfaa722a5abeb7 ] - -The current interconnect provider registration interface is inherently -racy as nodes are not added until the after adding the provider. This -can specifically cause racing DT lookups to fail. - -Switch to using the new API where the provider is not registered until -after it has been fully initialised. - -Fixes: 976daac4a1c5 ("interconnect: qcom: Consolidate interconnect RPMh support") -Cc: stable@vger.kernel.org # 5.7 -Reviewed-by: Konrad Dybcio -Signed-off-by: Johan Hovold -Link: https://lore.kernel.org/r/20230306075651.2449-11-johan+linaro@kernel.org -Signed-off-by: Georgi Djakov -Signed-off-by: Sasha Levin ---- - drivers/interconnect/qcom/icc-rpmh.c | 23 ++++++++++++++--------- - 1 file changed, 14 insertions(+), 9 deletions(-) - -diff --git a/drivers/interconnect/qcom/icc-rpmh.c b/drivers/interconnect/qcom/icc-rpmh.c -index 2c8e12549804b..c51c39754f4b1 100644 ---- a/drivers/interconnect/qcom/icc-rpmh.c -+++ b/drivers/interconnect/qcom/icc-rpmh.c -@@ -216,9 +216,10 @@ int qcom_icc_rpmh_probe(struct platform_device *pdev) - provider->pre_aggregate = qcom_icc_pre_aggregate; - provider->aggregate = qcom_icc_aggregate; - provider->xlate_extended = qcom_icc_xlate_extended; -- INIT_LIST_HEAD(&provider->nodes); - provider->data = data; - -+ icc_provider_init(provider); -+ - qp->dev = dev; - qp->bcms = desc->bcms; - qp->num_bcms = desc->num_bcms; -@@ -227,10 +228,6 @@ int qcom_icc_rpmh_probe(struct platform_device *pdev) - if (IS_ERR(qp->voter)) - return PTR_ERR(qp->voter); - -- ret = icc_provider_add(provider); -- if (ret) -- return ret; -- - for (i = 0; i < qp->num_bcms; i++) - qcom_icc_bcm_init(qp->bcms[i], dev); - -@@ -242,7 +239,7 @@ int qcom_icc_rpmh_probe(struct platform_device *pdev) - node = icc_node_create(qn->id); - if (IS_ERR(node)) { - ret = PTR_ERR(node); -- goto err; -+ goto err_remove_nodes; - } - - node->name = qn->name; -@@ -256,12 +253,18 @@ int qcom_icc_rpmh_probe(struct platform_device *pdev) - } - - data->num_nodes = num_nodes; -+ -+ ret = icc_provider_register(provider); -+ if (ret) -+ goto err_remove_nodes; -+ - platform_set_drvdata(pdev, qp); - - return 0; --err: -+ -+err_remove_nodes: - icc_nodes_remove(provider); -- icc_provider_del(provider); -+ - return ret; - } - EXPORT_SYMBOL_GPL(qcom_icc_rpmh_probe); -@@ -270,8 +273,10 @@ int qcom_icc_rpmh_remove(struct platform_device *pdev) - { - struct qcom_icc_provider *qp = platform_get_drvdata(pdev); - -+ icc_provider_deregister(&qp->provider); - icc_nodes_remove(&qp->provider); -- return icc_provider_del(&qp->provider); -+ -+ return 0; - } - EXPORT_SYMBOL_GPL(qcom_icc_rpmh_remove); - --- -2.39.2 - diff --git a/queue-5.15/series b/queue-5.15/series index e612290d875..70aab9df2f4 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -7,8 +7,6 @@ tty-serial-fsl_lpuart-switch-to-new-dmaengine_termin.patch tty-serial-fsl_lpuart-fix-race-on-rx-dma-shutdown.patch serial-8250-serial_8250_aspeed_vuart-should-depend-o.patch serial-8250-aspeed_vuart-select-regmap-instead-of-de.patch -interconnect-qcom-rpmh-fix-registration-race.patch -interconnect-qcom-msm8974-fix-registration-race.patch kthread-add-the-helper-function-kthread_run_on_cpu.patch trace-hwlat-make-use-of-the-helper-function-kthread_.patch trace-hwlat-do-not-start-per-cpu-thread-if-it-is-alr.patch