From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 70F5A309EFF; Wed, 3 Dec 2025 15:37:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764776260; cv=none; b=h1FkBJKlixreXdDJtr7pYQuu2M5De+yYOW41rVBMJF0qCPX1k4CHhNQY6WKM9H6gomNLLgSMArvqpMhnclWMLHigUmaC7rTVDj57rXA5kK/S4BhZextiIed71ayh56FC/HZG0mSPvuKmyaK6cKHLzXdcHSYhE0e/SsDNXvHC2Ps= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764776260; c=relaxed/simple; bh=+GBFxvLFlNDR23dcMYDLQEnQZtNZn+v19SL9eUN/8eA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ch+bp/0OsQFfoMftxI4Hkqd5dZRRrmApaDSREzwXQjALk5wF1UhY6KUhbgWdgkL8ZlIz3tVAHcQjdEkNEYVFYUofXha4W2VgTEeS8VZ+amrE3Wbgdpe+d7CD9hqD+eccF7QLnPm9oAjGUrS9Dc6CyRTRSTUuAKOz4kEXy63mUlY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=GxV6lr6z; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="GxV6lr6z" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D0C2EC116B1; Wed, 3 Dec 2025 15:37:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1764776260; bh=+GBFxvLFlNDR23dcMYDLQEnQZtNZn+v19SL9eUN/8eA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GxV6lr6zMBdScVP0OkQ/gDSOaaYXvp+BNP/Ng7nrZqKXO2q2KQ3nimIUlVka/83qn HnjAvtPjetrSaA5MbA4Bzen+k6oCGBs9STI2ssEp9v+Evyua9+/2Ohm7G+2YVX292o 9/7Vw3OPgf9e8Q26gGMqKj5FVBkb3l13+hnGjpgY= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Alexey Klimov , Loic Poulain , Baochen Qiang , Vasanthakumar Thiagarajan , Jeff Johnson , Sasha Levin Subject: [PATCH 5.10 128/300] wifi: ath10k: Fix connection after GTK rekeying Date: Wed, 3 Dec 2025 16:25:32 +0100 Message-ID: <20251203152405.353280118@linuxfoundation.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251203152400.447697997@linuxfoundation.org> References: <20251203152400.447697997@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 5.10-stable review patch. If anyone has any objections, please let me know. ------------------ From: Loic Poulain [ Upstream commit 487e8a8c3421df0af3707e54c7e069f1d89cbda7 ] It appears that not all hardware/firmware implementations support group key deletion correctly, which can lead to connection hangs and deauthentication following GTK rekeying (delete and install). To avoid this issue, instead of attempting to delete the key using the special WMI_CIPHER_NONE value, we now replace the key with an invalid (random) value. This behavior has been observed with WCN39xx chipsets. Tested-on: WCN3990 hw1.0 WLAN.HL.3.3.7.c2-00931-QCAHLSWMTPLZ-1 Reported-by: Alexey Klimov Closes: https://lore.kernel.org/all/DAWJQ2NIKY28.1XOG35E4A682G@linaro.org Signed-off-by: Loic Poulain Reviewed-by: Baochen Qiang Reviewed-by: Vasanthakumar Thiagarajan Tested-by: Alexey Klimov # QRB2210 RB1 Link: https://patch.msgid.link/20250902143225.837487-1-loic.poulain@oss.qualcomm.com Signed-off-by: Jeff Johnson Signed-off-by: Sasha Levin --- drivers/net/wireless/ath/ath10k/mac.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 5dd0239e9d51b..3a708b3c9d4ec 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -13,6 +13,7 @@ #include #include #include +#include #include "hif.h" #include "core.h" @@ -275,8 +276,15 @@ static int ath10k_send_key(struct ath10k_vif *arvif, key->flags |= IEEE80211_KEY_FLAG_GENERATE_IV; if (cmd == DISABLE_KEY) { - arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_NONE]; - arg.key_data = NULL; + if (flags & WMI_KEY_GROUP) { + /* Not all hardware handles group-key deletion operation + * correctly. Replace the key with a junk value to invalidate it. + */ + get_random_bytes(key->key, key->keylen); + } else { + arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_NONE]; + arg.key_data = NULL; + } } return ath10k_wmi_vdev_install_key(arvif->ar, &arg); -- 2.51.0