]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop ath10k patch from 5.10 and 5.4 queues
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Oct 2025 08:49:57 +0000 (09:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Oct 2025 08:49:57 +0000 (09:49 +0100)
queue-5.10/series
queue-5.10/wifi-ath10k-avoid-unnecessary-wait-for-service-ready.patch [deleted file]
queue-5.4/series
queue-5.4/wifi-ath10k-avoid-unnecessary-wait-for-service-ready.patch [deleted file]

index 36b81ba27a6a95344345eb01842c55669f99c6a6..aa5d557ef801ed85dc81c9f7c6641b17d71ae472 100644 (file)
@@ -64,7 +64,6 @@ acpi-nfit-fix-incorrect-ndr_desc-being-reportedin-de.patch
 rdma-core-resolve-mac-of-next-hop-device-without-arp.patch
 ib-sa-fix-sa_local_svc_timeout_ms-read-race.patch
 documentation-trace-historgram-design-separate-sched.patch
-wifi-ath10k-avoid-unnecessary-wait-for-service-ready.patch
 sparc-fix-accurate-exception-reporting-in-copy_-from.patch
 sparc-fix-accurate-exception-reporting-in-copy_-from.patch-18358
 sparc-fix-accurate-exception-reporting-in-copy_-from.patch-24062
diff --git a/queue-5.10/wifi-ath10k-avoid-unnecessary-wait-for-service-ready.patch b/queue-5.10/wifi-ath10k-avoid-unnecessary-wait-for-service-ready.patch
deleted file mode 100644 (file)
index 62ee00e..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-From f29e620571cce6080bedc726e9ed931b3b2611b9 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 11 Aug 2025 17:26:45 +0800
-Subject: wifi: ath10k: avoid unnecessary wait for service ready message
-
-From: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
-
-[ Upstream commit 51a73f1b2e56b0324b4a3bb8cebc4221b5be4c7a ]
-
-Commit e57b7d62a1b2 ("wifi: ath10k: poll service ready message before
-failing") works around the failure in waiting for the service ready
-message by active polling. Note the polling is triggered after initial
-wait timeout, which means that the wait-till-timeout can not be avoided
-even the message is ready.
-
-A possible fix is to do polling once before wait as well, however this
-can not handle the race that the message arrives right after polling.
-So the solution is to do periodic polling until timeout.
-
-Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00309-QCARMSWPZ-1
-
-Fixes: e57b7d62a1b2 ("wifi: ath10k: poll service ready message before failing")
-Reported-by: Paul Menzel <pmenzel@molgen.mpg.de>
-Closes: https://lore.kernel.org/all/97a15967-5518-4731-a8ff-d43ff7f437b0@molgen.mpg.de
-Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
-Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
-Link: https://patch.msgid.link/20250811-ath10k-avoid-unnecessary-wait-v1-1-db2deb87c39b@oss.qualcomm.com
-Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/wireless/ath/ath10k/wmi.c | 39 +++++++++++++--------------
- 1 file changed, 19 insertions(+), 20 deletions(-)
-
-diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
-index c9a74f3e2e601..858db97ecfed9 100644
---- a/drivers/net/wireless/ath/ath10k/wmi.c
-+++ b/drivers/net/wireless/ath/ath10k/wmi.c
-@@ -1762,33 +1762,32 @@ void ath10k_wmi_put_wmi_channel(struct ath10k *ar, struct wmi_channel *ch,
- int ath10k_wmi_wait_for_service_ready(struct ath10k *ar)
- {
-+      unsigned long timeout = jiffies + WMI_SERVICE_READY_TIMEOUT_HZ;
-       unsigned long time_left, i;
--      time_left = wait_for_completion_timeout(&ar->wmi.service_ready,
--                                              WMI_SERVICE_READY_TIMEOUT_HZ);
--      if (!time_left) {
--              /* Sometimes the PCI HIF doesn't receive interrupt
--               * for the service ready message even if the buffer
--               * was completed. PCIe sniffer shows that it's
--               * because the corresponding CE ring doesn't fires
--               * it. Workaround here by polling CE rings once.
--               */
--              ath10k_warn(ar, "failed to receive service ready completion, polling..\n");
--
-+      /* Sometimes the PCI HIF doesn't receive interrupt
-+       * for the service ready message even if the buffer
-+       * was completed. PCIe sniffer shows that it's
-+       * because the corresponding CE ring doesn't fires
-+       * it. Workaround here by polling CE rings. Since
-+       * the message could arrive at any time, continue
-+       * polling until timeout.
-+       */
-+      do {
-               for (i = 0; i < CE_COUNT; i++)
-                       ath10k_hif_send_complete_check(ar, i, 1);
-+              /* The 100 ms granularity is a tradeoff considering scheduler
-+               * overhead and response latency
-+               */
-               time_left = wait_for_completion_timeout(&ar->wmi.service_ready,
--                                                      WMI_SERVICE_READY_TIMEOUT_HZ);
--              if (!time_left) {
--                      ath10k_warn(ar, "polling timed out\n");
--                      return -ETIMEDOUT;
--              }
--
--              ath10k_warn(ar, "service ready completion received, continuing normally\n");
--      }
-+                                                      msecs_to_jiffies(100));
-+              if (time_left)
-+                      return 0;
-+      } while (time_before(jiffies, timeout));
--      return 0;
-+      ath10k_warn(ar, "failed to receive service ready completion\n");
-+      return -ETIMEDOUT;
- }
- int ath10k_wmi_wait_for_unified_ready(struct ath10k *ar)
--- 
-2.51.0
-
index 9be5036ba47241382b19c7f10c8475f8ebe63790..979d5c3665157d347baea428ee94340e697b2d1d 100644 (file)
@@ -52,7 +52,6 @@ drivers-base-node-handle-error-properly-in-register_.patch
 wifi-mt76-fix-potential-memory-leak-in-mt76_wmac_pro.patch
 rdma-core-resolve-mac-of-next-hop-device-without-arp.patch
 ib-sa-fix-sa_local_svc_timeout_ms-read-race.patch
-wifi-ath10k-avoid-unnecessary-wait-for-service-ready.patch
 sparc-fix-accurate-exception-reporting-in-copy_-from.patch
 sparc-fix-accurate-exception-reporting-in-copy_-from.patch-14259
 sparc-fix-accurate-exception-reporting-in-copy_-from.patch-17902
diff --git a/queue-5.4/wifi-ath10k-avoid-unnecessary-wait-for-service-ready.patch b/queue-5.4/wifi-ath10k-avoid-unnecessary-wait-for-service-ready.patch
deleted file mode 100644 (file)
index 362a3cf..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-From f9ce0c7c8d85cf2b246c5fcf496b1d6a23cce4c0 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 11 Aug 2025 17:26:45 +0800
-Subject: wifi: ath10k: avoid unnecessary wait for service ready message
-
-From: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
-
-[ Upstream commit 51a73f1b2e56b0324b4a3bb8cebc4221b5be4c7a ]
-
-Commit e57b7d62a1b2 ("wifi: ath10k: poll service ready message before
-failing") works around the failure in waiting for the service ready
-message by active polling. Note the polling is triggered after initial
-wait timeout, which means that the wait-till-timeout can not be avoided
-even the message is ready.
-
-A possible fix is to do polling once before wait as well, however this
-can not handle the race that the message arrives right after polling.
-So the solution is to do periodic polling until timeout.
-
-Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00309-QCARMSWPZ-1
-
-Fixes: e57b7d62a1b2 ("wifi: ath10k: poll service ready message before failing")
-Reported-by: Paul Menzel <pmenzel@molgen.mpg.de>
-Closes: https://lore.kernel.org/all/97a15967-5518-4731-a8ff-d43ff7f437b0@molgen.mpg.de
-Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
-Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
-Link: https://patch.msgid.link/20250811-ath10k-avoid-unnecessary-wait-v1-1-db2deb87c39b@oss.qualcomm.com
-Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/wireless/ath/ath10k/wmi.c | 39 +++++++++++++--------------
- 1 file changed, 19 insertions(+), 20 deletions(-)
-
-diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
-index ed6316c41cb78..0123d93323114 100644
---- a/drivers/net/wireless/ath/ath10k/wmi.c
-+++ b/drivers/net/wireless/ath/ath10k/wmi.c
-@@ -1720,33 +1720,32 @@ void ath10k_wmi_put_wmi_channel(struct wmi_channel *ch,
- int ath10k_wmi_wait_for_service_ready(struct ath10k *ar)
- {
-+      unsigned long timeout = jiffies + WMI_SERVICE_READY_TIMEOUT_HZ;
-       unsigned long time_left, i;
--      time_left = wait_for_completion_timeout(&ar->wmi.service_ready,
--                                              WMI_SERVICE_READY_TIMEOUT_HZ);
--      if (!time_left) {
--              /* Sometimes the PCI HIF doesn't receive interrupt
--               * for the service ready message even if the buffer
--               * was completed. PCIe sniffer shows that it's
--               * because the corresponding CE ring doesn't fires
--               * it. Workaround here by polling CE rings once.
--               */
--              ath10k_warn(ar, "failed to receive service ready completion, polling..\n");
--
-+      /* Sometimes the PCI HIF doesn't receive interrupt
-+       * for the service ready message even if the buffer
-+       * was completed. PCIe sniffer shows that it's
-+       * because the corresponding CE ring doesn't fires
-+       * it. Workaround here by polling CE rings. Since
-+       * the message could arrive at any time, continue
-+       * polling until timeout.
-+       */
-+      do {
-               for (i = 0; i < CE_COUNT; i++)
-                       ath10k_hif_send_complete_check(ar, i, 1);
-+              /* The 100 ms granularity is a tradeoff considering scheduler
-+               * overhead and response latency
-+               */
-               time_left = wait_for_completion_timeout(&ar->wmi.service_ready,
--                                                      WMI_SERVICE_READY_TIMEOUT_HZ);
--              if (!time_left) {
--                      ath10k_warn(ar, "polling timed out\n");
--                      return -ETIMEDOUT;
--              }
--
--              ath10k_warn(ar, "service ready completion received, continuing normally\n");
--      }
-+                                                      msecs_to_jiffies(100));
-+              if (time_left)
-+                      return 0;
-+      } while (time_before(jiffies, timeout));
--      return 0;
-+      ath10k_warn(ar, "failed to receive service ready completion\n");
-+      return -ETIMEDOUT;
- }
- int ath10k_wmi_wait_for_unified_ready(struct ath10k *ar)
--- 
-2.51.0
-