From: Greg Kroah-Hartman Date: Wed, 3 Dec 2025 13:31:58 +0000 (+0100) Subject: 6.12-stable patches X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6033bcd5fd84aca3fe141f9074e843330fe954a4;p=thirdparty%2Fkernel%2Fstable-queue.git 6.12-stable patches 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 --- 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 index 0000000000..5b5a9b1c81 --- /dev/null +++ b/queue-6.12/drm-i915-dp-initialize-the-source-oui-write-timestamp-always.patch @@ -0,0 +1,44 @@ +From 5861258c4e6a829a10200b41ba3fb4d7d1a4054f Mon Sep 17 00:00:00 2001 +From: Imre Deak +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 + +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ä +Signed-off-by: Imre Deak +Link: https://patchwork.freedesktop.org/patch/msgid/20241025160259.3088727-4-imre.deak@intel.com +Cc: "H. Nikolaus Schaller" +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 0000000000..9b2d6a3e1d --- /dev/null +++ b/queue-6.12/revert-acpi-suppress-misleading-spcr-console-message-when-spcr-table-is-absent.patch @@ -0,0 +1,55 @@ +From eeb8c19896952e18fb538ec76e603884070a6c6a Mon Sep 17 00:00:00 2001 +From: Punit Agrawal +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 + +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 +Signed-off-by: Will Deacon +Signed-off-by: Greg Kroah-Hartman +--- + 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); diff --git a/queue-6.12/series b/queue-6.12/series index 4af12239de..c4e7d6492f 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -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 index 0000000000..504c164e6f --- /dev/null +++ b/queue-6.12/wifi-ath12k-correctly-handle-mcast-packets-for-clients.patch @@ -0,0 +1,68 @@ +From 4541b0c8c3c1b85564971d497224e57cf8076a02 Mon Sep 17 00:00:00 2001 +From: Sarika Sharma +Date: Fri, 11 Apr 2025 11:45:23 +0530 +Subject: wifi: ath12k: correctly handle mcast packets for clients + +From: Sarika Sharma + +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 +Reviewed-by: Vasanthakumar Thiagarajan +Link: https://patch.msgid.link/20250411061523.859387-3-quic_sarishar@quicinc.com +Signed-off-by: Jeff Johnson +[ Adjust context ] +Signed-off-by: Oliver Sedlbauer +Signed-off-by: Greg Kroah-Hartman +--- + 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);