]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.12-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Dec 2025 13:31:58 +0000 (14:31 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Dec 2025 13:31:58 +0000 (14:31 +0100)
added patches:
drm-i915-dp-initialize-the-source-oui-write-timestamp-always.patch
revert-acpi-suppress-misleading-spcr-console-message-when-spcr-table-is-absent.patch
wifi-ath12k-correctly-handle-mcast-packets-for-clients.patch

queue-6.12/drm-i915-dp-initialize-the-source-oui-write-timestamp-always.patch [new file with mode: 0644]
queue-6.12/revert-acpi-suppress-misleading-spcr-console-message-when-spcr-table-is-absent.patch [new file with mode: 0644]
queue-6.12/series
queue-6.12/wifi-ath12k-correctly-handle-mcast-packets-for-clients.patch [new file with mode: 0644]

diff --git a/queue-6.12/drm-i915-dp-initialize-the-source-oui-write-timestamp-always.patch b/queue-6.12/drm-i915-dp-initialize-the-source-oui-write-timestamp-always.patch
new file mode 100644 (file)
index 0000000..5b5a9b1
--- /dev/null
@@ -0,0 +1,44 @@
+From 5861258c4e6a829a10200b41ba3fb4d7d1a4054f Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@intel.com>
+Date: Fri, 25 Oct 2024 19:02:54 +0300
+Subject: drm/i915/dp: Initialize the source OUI write timestamp always
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Imre Deak <imre.deak@intel.com>
+
+commit 5861258c4e6a829a10200b41ba3fb4d7d1a4054f upstream.
+
+If the source OUI DPCD register value matches the expected Intel OUI
+value, the write timestamp doesn't get updated leaving it at the 0
+initial value if the OUI wasn't written before. This can lead to an
+incorrect wait duration in intel_dp_wait_source_oui(), since jiffies is
+not inited to 0 in general (on a 32 bit system INITIAL_JIFFIES is set to
+5 minutes ahead of wrap-around). Fix this by intializing the write
+timestamp in the above case as well.
+
+Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Signed-off-by: Imre Deak <imre.deak@intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20241025160259.3088727-4-imre.deak@intel.com
+Cc: "H. Nikolaus Schaller" <hns@goldelico.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/i915/display/intel_dp.c |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/i915/display/intel_dp.c
++++ b/drivers/gpu/drm/i915/display/intel_dp.c
+@@ -3383,8 +3383,11 @@ intel_edp_init_source_oui(struct intel_d
+               if (drm_dp_dpcd_read(&intel_dp->aux, DP_SOURCE_OUI, buf, sizeof(buf)) < 0)
+                       drm_err(&i915->drm, "Failed to read source OUI\n");
+-              if (memcmp(oui, buf, sizeof(oui)) == 0)
++              if (memcmp(oui, buf, sizeof(oui)) == 0) {
++                      /* Assume the OUI was written now. */
++                      intel_dp->last_oui_write = jiffies;
+                       return;
++              }
+       }
+       if (drm_dp_dpcd_write(&intel_dp->aux, DP_SOURCE_OUI, oui, sizeof(oui)) < 0)
diff --git a/queue-6.12/revert-acpi-suppress-misleading-spcr-console-message-when-spcr-table-is-absent.patch b/queue-6.12/revert-acpi-suppress-misleading-spcr-console-message-when-spcr-table-is-absent.patch
new file mode 100644 (file)
index 0000000..9b2d6a3
--- /dev/null
@@ -0,0 +1,55 @@
+From eeb8c19896952e18fb538ec76e603884070a6c6a Mon Sep 17 00:00:00 2001
+From: Punit Agrawal <punit.agrawal@oss.qualcomm.com>
+Date: Fri, 31 Oct 2025 11:11:37 +0000
+Subject: Revert "ACPI: Suppress misleading SPCR console message when SPCR table is absent"
+
+From: Punit Agrawal <punit.agrawal@oss.qualcomm.com>
+
+commit eeb8c19896952e18fb538ec76e603884070a6c6a upstream.
+
+This reverts commit bad3fa2fb9206f4dcec6ddef094ec2fbf6e8dcb2.
+
+Commit bad3fa2fb920 ("ACPI: Suppress misleading SPCR console message
+when SPCR table is absent") mistakenly assumes acpi_parse_spcr()
+returning 0 to indicate a failure to parse SPCR. While addressing the
+resultant incorrect logging it was deemed that dropping the message is
+a better approach as it is not particularly useful.
+
+Roll back the commit introducing the bug as a step towards dropping
+the log message.
+
+Link: https://lore.kernel.org/all/aQN0YWUYaPYWpgJM@willie-the-truck/
+Signed-off-by: Punit Agrawal <punit.agrawal@oss.qualcomm.com>
+Signed-off-by: Will Deacon <will@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm64/kernel/acpi.c |   10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
+
+--- a/arch/arm64/kernel/acpi.c
++++ b/arch/arm64/kernel/acpi.c
+@@ -197,8 +197,6 @@ out:
+  */
+ void __init acpi_boot_table_init(void)
+ {
+-      int ret;
+-
+       /*
+        * Enable ACPI instead of device tree unless
+        * - ACPI has been disabled explicitly (acpi=off), or
+@@ -252,12 +250,10 @@ done:
+                * behaviour, use acpi=nospcr to disable console in ACPI SPCR
+                * table as default serial console.
+                */
+-              ret = acpi_parse_spcr(earlycon_acpi_spcr_enable,
++              acpi_parse_spcr(earlycon_acpi_spcr_enable,
+                       !param_acpi_nospcr);
+-              if (!ret || param_acpi_nospcr || !IS_ENABLED(CONFIG_ACPI_SPCR_TABLE))
+-                      pr_info("Use ACPI SPCR as default console: No\n");
+-              else
+-                      pr_info("Use ACPI SPCR as default console: Yes\n");
++              pr_info("Use ACPI SPCR as default console: %s\n",
++                              param_acpi_nospcr ? "No" : "Yes");
+               if (IS_ENABLED(CONFIG_ACPI_BGRT))
+                       acpi_table_parse(ACPI_SIG_BGRT, acpi_parse_bgrt);
index 4af12239deb0e4f573ef3bf582944bfc2dc01076..c4e7d6492f0142b152f0f5a794374b5982db7a9e 100644 (file)
@@ -126,3 +126,6 @@ net-dsa-microchip-fix-symetry-in-ksz_ptp_msg_irq_-setup-free.patch
 drm-fbcon-vga_switcheroo-avoid-race-condition-in-fbcon-setup.patch
 net-dsa-microchip-do-not-execute-ptp-driver-code-for-unsupported-switches.patch
 net-dsa-microchip-free-previously-initialized-ports-on-init-failures.patch
+wifi-ath12k-correctly-handle-mcast-packets-for-clients.patch
+revert-acpi-suppress-misleading-spcr-console-message-when-spcr-table-is-absent.patch
+drm-i915-dp-initialize-the-source-oui-write-timestamp-always.patch
diff --git a/queue-6.12/wifi-ath12k-correctly-handle-mcast-packets-for-clients.patch b/queue-6.12/wifi-ath12k-correctly-handle-mcast-packets-for-clients.patch
new file mode 100644 (file)
index 0000000..504c164
--- /dev/null
@@ -0,0 +1,68 @@
+From 4541b0c8c3c1b85564971d497224e57cf8076a02 Mon Sep 17 00:00:00 2001
+From: Sarika Sharma <quic_sarishar@quicinc.com>
+Date: Fri, 11 Apr 2025 11:45:23 +0530
+Subject: wifi: ath12k: correctly handle mcast packets for clients
+
+From: Sarika Sharma <quic_sarishar@quicinc.com>
+
+commit 4541b0c8c3c1b85564971d497224e57cf8076a02 upstream.
+
+Currently, RX is_mcbc bit is set for packets sent from client as
+destination address (DA) is multicast/broadcast address, but packets
+are actually unicast as receiver address (RA) is not multicast address.
+Hence, packets are not handled properly due to this is_mcbc bit.
+
+Therefore, reset the is_mcbc bit if interface type is AP.
+
+Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
+
+Signed-off-by: Sarika Sharma <quic_sarishar@quicinc.com>
+Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
+Link: https://patch.msgid.link/20250411061523.859387-3-quic_sarishar@quicinc.com
+Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
+[ Adjust context ]
+Signed-off-by: Oliver Sedlbauer <os@dev.tdt.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/wireless/ath/ath12k/dp_rx.c |    5 +++++
+ drivers/net/wireless/ath/ath12k/peer.c  |    3 +++
+ drivers/net/wireless/ath/ath12k/peer.h  |    2 ++
+ 3 files changed, 10 insertions(+)
+
+--- a/drivers/net/wireless/ath/ath12k/dp_rx.c
++++ b/drivers/net/wireless/ath/ath12k/dp_rx.c
+@@ -2214,6 +2214,11 @@ static void ath12k_dp_rx_h_mpdu(struct a
+       spin_lock_bh(&ar->ab->base_lock);
+       peer = ath12k_dp_rx_h_find_peer(ar->ab, msdu);
+       if (peer) {
++              /* resetting mcbc bit because mcbc packets are unicast
++               * packets only for AP as STA sends unicast packets.
++               */
++              rxcb->is_mcbc = rxcb->is_mcbc && !peer->ucast_ra_only;
++
+               if (rxcb->is_mcbc)
+                       enctype = peer->sec_type_grp;
+               else
+--- a/drivers/net/wireless/ath/ath12k/peer.c
++++ b/drivers/net/wireless/ath/ath12k/peer.c
+@@ -331,6 +331,9 @@ int ath12k_peer_create(struct ath12k *ar
+               arvif->ast_idx = peer->hw_peer_id;
+       }
++      if (arvif->vif->type == NL80211_IFTYPE_AP)
++              peer->ucast_ra_only = true;
++
+       peer->sec_type = HAL_ENCRYPT_TYPE_OPEN;
+       peer->sec_type_grp = HAL_ENCRYPT_TYPE_OPEN;
+--- a/drivers/net/wireless/ath/ath12k/peer.h
++++ b/drivers/net/wireless/ath/ath12k/peer.h
+@@ -47,6 +47,8 @@ struct ath12k_peer {
+       /* protected by ab->data_lock */
+       bool dp_setup_done;
++
++      bool ucast_ra_only;
+ };
+ void ath12k_peer_unmap_event(struct ath12k_base *ab, u16 peer_id);