From: Greg Kroah-Hartman Date: Thu, 4 Mar 2021 16:56:29 +0000 (+0100) Subject: drop some patches X-Git-Tag: v4.4.260~38 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2e6b467ab4dab7d76c2cf95af1e3a15b8f68d19d;p=thirdparty%2Fkernel%2Fstable-queue.git drop some patches --- diff --git a/queue-5.10/i2c-i2c-qcom-geni-add-shutdown-callback-for-i2c.patch b/queue-5.10/i2c-i2c-qcom-geni-add-shutdown-callback-for-i2c.patch deleted file mode 100644 index 8f04204865c..00000000000 --- a/queue-5.10/i2c-i2c-qcom-geni-add-shutdown-callback-for-i2c.patch +++ /dev/null @@ -1,84 +0,0 @@ -From e0371298ddc51761be257698554ea507ac8bf831 Mon Sep 17 00:00:00 2001 -From: Roja Rani Yarubandi -Date: Fri, 8 Jan 2021 20:35:45 +0530 -Subject: i2c: i2c-qcom-geni: Add shutdown callback for i2c - -From: Roja Rani Yarubandi - -commit e0371298ddc51761be257698554ea507ac8bf831 upstream. - -If the hardware is still accessing memory after SMMU translation -is disabled (as part of smmu shutdown callback), then the -IOVAs (I/O virtual address) which it was using will go on the bus -as the physical addresses which will result in unknown crashes -like NoC/interconnect errors. - -So, implement shutdown callback to i2c driver to stop on-going transfer -and unmap DMA mappings during system "reboot" or "shutdown". - -Fixes: 37692de5d523 ("i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller") -Signed-off-by: Roja Rani Yarubandi -Reviewed-by: Akash Asthana -Signed-off-by: Wolfram Sang -Signed-off-by: Greg Kroah-Hartman ---- - drivers/i2c/busses/i2c-qcom-geni.c | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - ---- a/drivers/i2c/busses/i2c-qcom-geni.c -+++ b/drivers/i2c/busses/i2c-qcom-geni.c -@@ -375,6 +375,32 @@ static void geni_i2c_tx_msg_cleanup(stru - } - } - -+static void geni_i2c_stop_xfer(struct geni_i2c_dev *gi2c) -+{ -+ int ret; -+ u32 geni_status; -+ struct i2c_msg *cur; -+ -+ /* Resume device, as runtime suspend can happen anytime during transfer */ -+ ret = pm_runtime_get_sync(gi2c->se.dev); -+ if (ret < 0) { -+ dev_err(gi2c->se.dev, "Failed to resume device: %d\n", ret); -+ return; -+ } -+ -+ geni_status = readl_relaxed(gi2c->se.base + SE_GENI_STATUS); -+ if (geni_status & M_GENI_CMD_ACTIVE) { -+ cur = gi2c->cur; -+ geni_i2c_abort_xfer(gi2c); -+ if (cur->flags & I2C_M_RD) -+ geni_i2c_rx_msg_cleanup(gi2c, cur); -+ else -+ geni_i2c_tx_msg_cleanup(gi2c, cur); -+ } -+ -+ pm_runtime_put_sync_suspend(gi2c->se.dev); -+} -+ - static int geni_i2c_rx_one_msg(struct geni_i2c_dev *gi2c, struct i2c_msg *msg, - u32 m_param) - { -@@ -654,6 +680,13 @@ static int geni_i2c_remove(struct platfo - return 0; - } - -+static void geni_i2c_shutdown(struct platform_device *pdev) -+{ -+ struct geni_i2c_dev *gi2c = platform_get_drvdata(pdev); -+ -+ geni_i2c_stop_xfer(gi2c); -+} -+ - static int __maybe_unused geni_i2c_runtime_suspend(struct device *dev) - { - int ret; -@@ -718,6 +751,7 @@ MODULE_DEVICE_TABLE(of, geni_i2c_dt_matc - static struct platform_driver geni_i2c_driver = { - .probe = geni_i2c_probe, - .remove = geni_i2c_remove, -+ .shutdown = geni_i2c_shutdown, - .driver = { - .name = "geni_i2c", - .pm = &geni_i2c_pm_ops, diff --git a/queue-5.10/mptcp-provide-subflow-aware-release-function.patch b/queue-5.10/mptcp-provide-subflow-aware-release-function.patch deleted file mode 100644 index 78ec8addabf..00000000000 --- a/queue-5.10/mptcp-provide-subflow-aware-release-function.patch +++ /dev/null @@ -1,114 +0,0 @@ -From ad98dd37051e14fa8c785609430d907fcfd518ba Mon Sep 17 00:00:00 2001 -From: Florian Westphal -Date: Fri, 19 Feb 2021 18:35:39 +0100 -Subject: mptcp: provide subflow aware release function - -From: Florian Westphal - -commit ad98dd37051e14fa8c785609430d907fcfd518ba upstream. - -mptcp re-used inet(6)_release, so the subflow sockets are ignored. -Need to invoke ip(v6)_mc_drop_socket function to ensure mcast join -resources get free'd. - -Fixes: 717e79c867ca5 ("mptcp: Add setsockopt()/getsockopt() socket operations") -Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/110 -Acked-by: Paolo Abeni -Signed-off-by: Florian Westphal -Signed-off-by: Jakub Kicinski -Signed-off-by: Greg Kroah-Hartman ---- - net/mptcp/protocol.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 53 insertions(+), 2 deletions(-) - ---- a/net/mptcp/protocol.c -+++ b/net/mptcp/protocol.c -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -19,6 +20,7 @@ - #include - #if IS_ENABLED(CONFIG_MPTCP_IPV6) - #include -+#include - #endif - #include - #include "protocol.h" -@@ -2731,10 +2733,34 @@ out_unlock: - return ret; - } - -+static int mptcp_release(struct socket *sock) -+{ -+ struct mptcp_subflow_context *subflow; -+ struct sock *sk = sock->sk; -+ struct mptcp_sock *msk; -+ -+ if (!sk) -+ return 0; -+ -+ lock_sock(sk); -+ -+ msk = mptcp_sk(sk); -+ -+ mptcp_for_each_subflow(msk, subflow) { -+ struct sock *ssk = mptcp_subflow_tcp_sock(subflow); -+ -+ ip_mc_drop_socket(ssk); -+ } -+ -+ release_sock(sk); -+ -+ return inet_release(sock); -+} -+ - static const struct proto_ops mptcp_stream_ops = { - .family = PF_INET, - .owner = THIS_MODULE, -- .release = inet_release, -+ .release = mptcp_release, - .bind = mptcp_bind, - .connect = mptcp_stream_connect, - .socketpair = sock_no_socketpair, -@@ -2781,10 +2807,35 @@ void __init mptcp_proto_init(void) - } - - #if IS_ENABLED(CONFIG_MPTCP_IPV6) -+static int mptcp6_release(struct socket *sock) -+{ -+ struct mptcp_subflow_context *subflow; -+ struct mptcp_sock *msk; -+ struct sock *sk = sock->sk; -+ -+ if (!sk) -+ return 0; -+ -+ lock_sock(sk); -+ -+ msk = mptcp_sk(sk); -+ -+ mptcp_for_each_subflow(msk, subflow) { -+ struct sock *ssk = mptcp_subflow_tcp_sock(subflow); -+ -+ ip_mc_drop_socket(ssk); -+ ipv6_sock_mc_close(ssk); -+ ipv6_sock_ac_close(ssk); -+ } -+ -+ release_sock(sk); -+ return inet6_release(sock); -+} -+ - static const struct proto_ops mptcp_v6_stream_ops = { - .family = PF_INET6, - .owner = THIS_MODULE, -- .release = inet6_release, -+ .release = mptcp6_release, - .bind = mptcp_bind, - .connect = mptcp_stream_connect, - .socketpair = sock_no_socketpair, diff --git a/queue-5.10/series b/queue-5.10/series index 157db4c9edb..022809e3f3c 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -21,7 +21,6 @@ rdma-rtrs-do-not-signal-for-heatbeat.patch rdma-rtrs-clt-use-bitmask-to-check-sess-flags.patch rdma-rtrs-srv-do-not-signal-reg_mr.patch tcp-fix-tcp_rmem-documentation.patch -mptcp-provide-subflow-aware-release-function.patch mptcp-do-not-wakeup-listener-for-mpj-subflows.patch net-bridge-use-switchdev-for-port-flags-set-through-sysfs-too.patch net-sched-cls_flower-reject-invalid-ct_state-flags-rules.patch @@ -32,6 +31,5 @@ net-psample-fix-netlink-skb-length-with-tunnel-info.patch net-fix-dev_ifsioc_locked-race-condition.patch dt-bindings-ethernet-controller-fix-fixed-link-specification.patch dt-bindings-net-btusb-dt-fix-s-interrupt-name-interrupt-names.patch -i2c-i2c-qcom-geni-add-shutdown-callback-for-i2c.patch asoc-qcom-remove-useless-debug-print.patch soundwire-debugfs-use-controller-id-instead-of-link_id.patch diff --git a/queue-5.11/i2c-i2c-qcom-geni-add-shutdown-callback-for-i2c.patch b/queue-5.11/i2c-i2c-qcom-geni-add-shutdown-callback-for-i2c.patch deleted file mode 100644 index 9e2c145aec4..00000000000 --- a/queue-5.11/i2c-i2c-qcom-geni-add-shutdown-callback-for-i2c.patch +++ /dev/null @@ -1,84 +0,0 @@ -From e0371298ddc51761be257698554ea507ac8bf831 Mon Sep 17 00:00:00 2001 -From: Roja Rani Yarubandi -Date: Fri, 8 Jan 2021 20:35:45 +0530 -Subject: i2c: i2c-qcom-geni: Add shutdown callback for i2c - -From: Roja Rani Yarubandi - -commit e0371298ddc51761be257698554ea507ac8bf831 upstream. - -If the hardware is still accessing memory after SMMU translation -is disabled (as part of smmu shutdown callback), then the -IOVAs (I/O virtual address) which it was using will go on the bus -as the physical addresses which will result in unknown crashes -like NoC/interconnect errors. - -So, implement shutdown callback to i2c driver to stop on-going transfer -and unmap DMA mappings during system "reboot" or "shutdown". - -Fixes: 37692de5d523 ("i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller") -Signed-off-by: Roja Rani Yarubandi -Reviewed-by: Akash Asthana -Signed-off-by: Wolfram Sang -Signed-off-by: Greg Kroah-Hartman ---- - drivers/i2c/busses/i2c-qcom-geni.c | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - ---- a/drivers/i2c/busses/i2c-qcom-geni.c -+++ b/drivers/i2c/busses/i2c-qcom-geni.c -@@ -375,6 +375,32 @@ static void geni_i2c_tx_msg_cleanup(stru - } - } - -+static void geni_i2c_stop_xfer(struct geni_i2c_dev *gi2c) -+{ -+ int ret; -+ u32 geni_status; -+ struct i2c_msg *cur; -+ -+ /* Resume device, as runtime suspend can happen anytime during transfer */ -+ ret = pm_runtime_get_sync(gi2c->se.dev); -+ if (ret < 0) { -+ dev_err(gi2c->se.dev, "Failed to resume device: %d\n", ret); -+ return; -+ } -+ -+ geni_status = readl_relaxed(gi2c->se.base + SE_GENI_STATUS); -+ if (geni_status & M_GENI_CMD_ACTIVE) { -+ cur = gi2c->cur; -+ geni_i2c_abort_xfer(gi2c); -+ if (cur->flags & I2C_M_RD) -+ geni_i2c_rx_msg_cleanup(gi2c, cur); -+ else -+ geni_i2c_tx_msg_cleanup(gi2c, cur); -+ } -+ -+ pm_runtime_put_sync_suspend(gi2c->se.dev); -+} -+ - static int geni_i2c_rx_one_msg(struct geni_i2c_dev *gi2c, struct i2c_msg *msg, - u32 m_param) - { -@@ -650,6 +676,13 @@ static int geni_i2c_remove(struct platfo - return 0; - } - -+static void geni_i2c_shutdown(struct platform_device *pdev) -+{ -+ struct geni_i2c_dev *gi2c = platform_get_drvdata(pdev); -+ -+ geni_i2c_stop_xfer(gi2c); -+} -+ - static int __maybe_unused geni_i2c_runtime_suspend(struct device *dev) - { - int ret; -@@ -714,6 +747,7 @@ MODULE_DEVICE_TABLE(of, geni_i2c_dt_matc - static struct platform_driver geni_i2c_driver = { - .probe = geni_i2c_probe, - .remove = geni_i2c_remove, -+ .shutdown = geni_i2c_shutdown, - .driver = { - .name = "geni_i2c", - .pm = &geni_i2c_pm_ops, diff --git a/queue-5.11/mptcp-provide-subflow-aware-release-function.patch b/queue-5.11/mptcp-provide-subflow-aware-release-function.patch deleted file mode 100644 index 6f3210789cc..00000000000 --- a/queue-5.11/mptcp-provide-subflow-aware-release-function.patch +++ /dev/null @@ -1,114 +0,0 @@ -From ad98dd37051e14fa8c785609430d907fcfd518ba Mon Sep 17 00:00:00 2001 -From: Florian Westphal -Date: Fri, 19 Feb 2021 18:35:39 +0100 -Subject: mptcp: provide subflow aware release function - -From: Florian Westphal - -commit ad98dd37051e14fa8c785609430d907fcfd518ba upstream. - -mptcp re-used inet(6)_release, so the subflow sockets are ignored. -Need to invoke ip(v6)_mc_drop_socket function to ensure mcast join -resources get free'd. - -Fixes: 717e79c867ca5 ("mptcp: Add setsockopt()/getsockopt() socket operations") -Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/110 -Acked-by: Paolo Abeni -Signed-off-by: Florian Westphal -Signed-off-by: Jakub Kicinski -Signed-off-by: Greg Kroah-Hartman ---- - net/mptcp/protocol.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 53 insertions(+), 2 deletions(-) - ---- a/net/mptcp/protocol.c -+++ b/net/mptcp/protocol.c -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -19,6 +20,7 @@ - #include - #if IS_ENABLED(CONFIG_MPTCP_IPV6) - #include -+#include - #endif - #include - #include -@@ -3357,10 +3359,34 @@ static __poll_t mptcp_poll(struct file * - return mask; - } - -+static int mptcp_release(struct socket *sock) -+{ -+ struct mptcp_subflow_context *subflow; -+ struct sock *sk = sock->sk; -+ struct mptcp_sock *msk; -+ -+ if (!sk) -+ return 0; -+ -+ lock_sock(sk); -+ -+ msk = mptcp_sk(sk); -+ -+ mptcp_for_each_subflow(msk, subflow) { -+ struct sock *ssk = mptcp_subflow_tcp_sock(subflow); -+ -+ ip_mc_drop_socket(ssk); -+ } -+ -+ release_sock(sk); -+ -+ return inet_release(sock); -+} -+ - static const struct proto_ops mptcp_stream_ops = { - .family = PF_INET, - .owner = THIS_MODULE, -- .release = inet_release, -+ .release = mptcp_release, - .bind = mptcp_bind, - .connect = mptcp_stream_connect, - .socketpair = sock_no_socketpair, -@@ -3407,10 +3433,35 @@ void __init mptcp_proto_init(void) - } - - #if IS_ENABLED(CONFIG_MPTCP_IPV6) -+static int mptcp6_release(struct socket *sock) -+{ -+ struct mptcp_subflow_context *subflow; -+ struct mptcp_sock *msk; -+ struct sock *sk = sock->sk; -+ -+ if (!sk) -+ return 0; -+ -+ lock_sock(sk); -+ -+ msk = mptcp_sk(sk); -+ -+ mptcp_for_each_subflow(msk, subflow) { -+ struct sock *ssk = mptcp_subflow_tcp_sock(subflow); -+ -+ ip_mc_drop_socket(ssk); -+ ipv6_sock_mc_close(ssk); -+ ipv6_sock_ac_close(ssk); -+ } -+ -+ release_sock(sk); -+ return inet6_release(sock); -+} -+ - static const struct proto_ops mptcp_v6_stream_ops = { - .family = PF_INET6, - .owner = THIS_MODULE, -- .release = inet6_release, -+ .release = mptcp6_release, - .bind = mptcp_bind, - .connect = mptcp_stream_connect, - .socketpair = sock_no_socketpair, diff --git a/queue-5.11/series b/queue-5.11/series index 18032cb8d9f..d228f478717 100644 --- a/queue-5.11/series +++ b/queue-5.11/series @@ -22,7 +22,6 @@ rdma-rtrs-do-not-signal-for-heatbeat.patch rdma-rtrs-clt-use-bitmask-to-check-sess-flags.patch rdma-rtrs-srv-do-not-signal-reg_mr.patch tcp-fix-tcp_rmem-documentation.patch -mptcp-provide-subflow-aware-release-function.patch mptcp-do-not-wakeup-listener-for-mpj-subflows.patch mptcp-fix-data_fin-generation-on-early-shutdown.patch net-bridge-use-switchdev-for-port-flags-set-through-sysfs-too.patch @@ -34,6 +33,5 @@ net-psample-fix-netlink-skb-length-with-tunnel-info.patch net-fix-dev_ifsioc_locked-race-condition.patch dt-bindings-ethernet-controller-fix-fixed-link-specification.patch dt-bindings-net-btusb-dt-fix-s-interrupt-name-interrupt-names.patch -i2c-i2c-qcom-geni-add-shutdown-callback-for-i2c.patch asoc-qcom-remove-useless-debug-print.patch soundwire-debugfs-use-controller-id-instead-of-link_id.patch diff --git a/queue-5.4/i2c-i2c-qcom-geni-add-shutdown-callback-for-i2c.patch b/queue-5.4/i2c-i2c-qcom-geni-add-shutdown-callback-for-i2c.patch deleted file mode 100644 index 576395363b3..00000000000 --- a/queue-5.4/i2c-i2c-qcom-geni-add-shutdown-callback-for-i2c.patch +++ /dev/null @@ -1,84 +0,0 @@ -From e0371298ddc51761be257698554ea507ac8bf831 Mon Sep 17 00:00:00 2001 -From: Roja Rani Yarubandi -Date: Fri, 8 Jan 2021 20:35:45 +0530 -Subject: i2c: i2c-qcom-geni: Add shutdown callback for i2c - -From: Roja Rani Yarubandi - -commit e0371298ddc51761be257698554ea507ac8bf831 upstream. - -If the hardware is still accessing memory after SMMU translation -is disabled (as part of smmu shutdown callback), then the -IOVAs (I/O virtual address) which it was using will go on the bus -as the physical addresses which will result in unknown crashes -like NoC/interconnect errors. - -So, implement shutdown callback to i2c driver to stop on-going transfer -and unmap DMA mappings during system "reboot" or "shutdown". - -Fixes: 37692de5d523 ("i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller") -Signed-off-by: Roja Rani Yarubandi -Reviewed-by: Akash Asthana -Signed-off-by: Wolfram Sang -Signed-off-by: Greg Kroah-Hartman ---- - drivers/i2c/busses/i2c-qcom-geni.c | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - ---- a/drivers/i2c/busses/i2c-qcom-geni.c -+++ b/drivers/i2c/busses/i2c-qcom-geni.c -@@ -377,6 +377,32 @@ static void geni_i2c_tx_msg_cleanup(stru - } - } - -+static void geni_i2c_stop_xfer(struct geni_i2c_dev *gi2c) -+{ -+ int ret; -+ u32 geni_status; -+ struct i2c_msg *cur; -+ -+ /* Resume device, as runtime suspend can happen anytime during transfer */ -+ ret = pm_runtime_get_sync(gi2c->se.dev); -+ if (ret < 0) { -+ dev_err(gi2c->se.dev, "Failed to resume device: %d\n", ret); -+ return; -+ } -+ -+ geni_status = readl_relaxed(gi2c->se.base + SE_GENI_STATUS); -+ if (geni_status & M_GENI_CMD_ACTIVE) { -+ cur = gi2c->cur; -+ geni_i2c_abort_xfer(gi2c); -+ if (cur->flags & I2C_M_RD) -+ geni_i2c_rx_msg_cleanup(gi2c, cur); -+ else -+ geni_i2c_tx_msg_cleanup(gi2c, cur); -+ } -+ -+ pm_runtime_put_sync_suspend(gi2c->se.dev); -+} -+ - static int geni_i2c_rx_one_msg(struct geni_i2c_dev *gi2c, struct i2c_msg *msg, - u32 m_param) - { -@@ -641,6 +667,13 @@ static int geni_i2c_remove(struct platfo - return 0; - } - -+static void geni_i2c_shutdown(struct platform_device *pdev) -+{ -+ struct geni_i2c_dev *gi2c = platform_get_drvdata(pdev); -+ -+ geni_i2c_stop_xfer(gi2c); -+} -+ - static int __maybe_unused geni_i2c_runtime_suspend(struct device *dev) - { - int ret; -@@ -701,6 +734,7 @@ MODULE_DEVICE_TABLE(of, geni_i2c_dt_matc - static struct platform_driver geni_i2c_driver = { - .probe = geni_i2c_probe, - .remove = geni_i2c_remove, -+ .shutdown = geni_i2c_shutdown, - .driver = { - .name = "geni_i2c", - .pm = &geni_i2c_pm_ops, diff --git a/queue-5.4/series b/queue-5.4/series index 3095ec84358..e8968fb1457 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -20,6 +20,5 @@ net-ag71xx-remove-unnecessary-mtu-reservation.patch net-fix-dev_ifsioc_locked-race-condition.patch dt-bindings-ethernet-controller-fix-fixed-link-specification.patch dt-bindings-net-btusb-dt-fix-s-interrupt-name-interrupt-names.patch -i2c-i2c-qcom-geni-add-shutdown-callback-for-i2c.patch mips-drop-32-bit-asm-string-functions.patch drm-virtio-use-kvmalloc-for-large-allocations.patch