From nobody Fri Apr 3 03:15:14 2026 Received: from e3i693.smtp2go.com (e3i693.smtp2go.com [158.120.86.181]) (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 9901F32F77B for ; Tue, 17 Feb 2026 11:10:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=158.120.86.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771326602; cv=none; b=Cn3l6nGAqzElCHzx2Qub4jc5fPnC8e9Mg7gpUnZJkoxgT1f5Mc6sank1OwcThs636Oa6fOS5YWbPqO0/TGOdRfDLz7mS21ryfQmv5+Y1XX7VjTaGw8NV8LdjOwqsxD9LdYUaRc1KG2+iFjPBYAOYpmFjP/HwXzZaozW9sOZ/RrQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771326602; c=relaxed/simple; bh=Rwa5SbZbwFw5zHzjmWHA0GCYttQW3qra5cJmckSp1rA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=aS90SXs2fUYR/peuUzIvsVWC0XCisW/p7G2xjvaf/60caxyxYqqOFveJGEWS0JsgnxxhXLrspuxGwCmPfR3ii1xl+7Z/TqfLO1QmK1lO+/T55LEGI4aTUsdWzUog5DlntAgXpQlxVLfhifSBmz1dzlKkRtntwaj633FlnjgkaSI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=triplefau.lt; spf=pass smtp.mailfrom=em510616.triplefau.lt; dkim=pass (2048-bit key) header.d=triplefau.lt header.i=@triplefau.lt header.b=CyxrJTp1; arc=none smtp.client-ip=158.120.86.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=triplefau.lt Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=em510616.triplefau.lt Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=triplefau.lt header.i=@triplefau.lt header.b="CyxrJTp1" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=triplefau.lt; i=@triplefau.lt; q=dns/txt; s=s510616; t=1771325691; h=from : subject : to : message-id : date; bh=JnYH1ptdFFHGtpfwVkqyYHfrXgSqYG4pcNvlPo4D2KE=; b=CyxrJTp1i7xjpnb1uHf0wi7lfS+eZm/NvgsRZgGxZA895H4YzEEm+z8QmbrO2u7Vh+FCp et58QcvP6Xa0JW68Uo4NkJdeOMGHnqxMVbhtntjT9g352KrrwHfWUSlnhqcjE5qKgrILF1s kAuYNWZYGVORMApIjqfOoNaB+t+5Tk74FGjFSUSHsrYyXlBRwgkgLlezaQdlLMEH9G3exp+ 2VOIzJYVLC/qTm1eh0JrnqGFRKUhxc022EgyEm+YCtp//iIzWVOaBg8wZQH/yFiD4z1pOST 47hZLwJtp+vHbmn7Nm4IuNTgpI6UOK9lBup3FT0AbrfUBxrQ2sTFNmDcVzmA== Received: from [10.12.239.196] (helo=localhost) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.99.1-S2G) (envelope-from ) id 1vsIj6-FnQW0hQ1cSj-la2V; Tue, 17 Feb 2026 10:54:44 +0000 From: Remi Pommarel To: Johannes Berg Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, Remi Pommarel Subject: [PATCH wireless] wifi: mac80211: Fix ADDBA update when HW supports reordering Date: Tue, 17 Feb 2026 11:36:07 +0100 Message-ID: <5806bab7e46506d3c300ab4eb66989d42936aeb0.1771323902.git.repk@triplefau.lt> X-Mailer: git-send-email 2.52.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Report-Abuse: Please forward a copy of this message, including all headers, to Feedback-ID: 510616m:510616apGKSTK:510616snk9QLnpdH X-smtpcorp-track: -8Ja30-X1Wpw.8Zwlje7_1tN6.z3sjUgFmoX6 Content-Type: text/plain; charset="utf-8" Commit f89e07d4cf26 ("mac80211: agg-rx: refuse ADDBA Request with timeout update") added a check to fail when ADDBA update would change the timeout param. This param is kept in tid_ampdu_rx context which is only allocated on HW that do not set SUPPORTS_REORDERING_BUFFER. Because the timeout check was done regardless of this param, ADDBA update always failed on those HW. Fix this by only checking tid_ampdu_rx->timeout only when SUPPORTS_REORDERING_BUFFER is not set. Fixes: f89e07d4cf26 ("mac80211: agg-rx: refuse ADDBA Request with timeout u= pdate") Signed-off-by: Remi Pommarel --- net/mac80211/agg-rx.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c index 7da909d78c68..099a291723e6 100644 --- a/net/mac80211/agg-rx.c +++ b/net/mac80211/agg-rx.c @@ -353,7 +353,16 @@ void __ieee80211_start_rx_ba_session(struct sta_info *= sta, buf_size, sta->sta.addr); =20 if (test_bit(tid, sta->ampdu_mlme.agg_session_valid)) { - if (sta->ampdu_mlme.tid_rx_token[tid] =3D=3D dialog_token) { + if (sta->ampdu_mlme.tid_rx_token[tid] !=3D dialog_token) { + ht_dbg_ratelimited(sta->sdata, + "unexpected AddBA Req from %pM on tid %u\n", + sta->sta.addr, tid); + + /* delete existing Rx BA session on the same tid */ + __ieee80211_stop_rx_ba_session(sta, tid, WLAN_BACK_RECIPIENT, + WLAN_STATUS_UNSPECIFIED_QOS, + false); + } else if (!ieee80211_hw_check(&local->hw, SUPPORTS_REORDERING_BUFFER)) { struct tid_ampdu_rx *tid_rx; =20 ht_dbg_ratelimited(sta->sdata, @@ -374,14 +383,6 @@ void __ieee80211_start_rx_ba_session(struct sta_info *= sta, goto end; } =20 - ht_dbg_ratelimited(sta->sdata, - "unexpected AddBA Req from %pM on tid %u\n", - sta->sta.addr, tid); - - /* delete existing Rx BA session on the same tid */ - __ieee80211_stop_rx_ba_session(sta, tid, WLAN_BACK_RECIPIENT, - WLAN_STATUS_UNSPECIFIED_QOS, - false); } =20 if (ieee80211_hw_check(&local->hw, SUPPORTS_REORDERING_BUFFER)) { --=20 2.52.0