to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eyE/owEf92X9Y4RQVhXVJqOWVIp3/1kGf3iUbywcCic=; b=biFTufLZLL27pokjMniXOYJaJl54Rs92g2lahKIG00eAKget1X0/SifOGs4B2TYkuZ5p6l P+s6g5105YJ2yZIb2M8+pYom3WASd+yGYzz3PdfBgzebNPiHMnGYJcqx8bpzpoQFudsv4S 7ZykVHvOj1vyMByKcDN91QLq15c2i26fDw8VZO7oLIhBn2Ye7vAkfFJwkE8S90UfeoBsz2 lleuGulSNrBk2ux1dgNr5euA4Pawh/2zrR8brm9FBHvc7CxIWz2fEwFBpcZCCpSAIZivIa xT8PTQcitzl/RHw/xTsTN7gQEN6JUfc6WHAr8Yz7lWJYi1XCzj8GzzBi6EFATQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770789918; a=rsa-sha256; cv=none; b=Jn1no2ka/SrsxLhyafj6c09JZffxvjdM1b6PxTuosec2HGk0tXTMdOxDrxfB+n6Sc43PTg pnY1q0PX+E5c/zL27XNp3qvQYJErtPPNJbVzOupZh8clEbq9uitmYXNRHQ/I37Q3WRmUfi 2JCQJg55nxaFrvv2KKr3sSVEPhURYuejp8cakjy+FhqXyQwe28v8i9Kz0/ftL98dm56V0o TOm905j9DC9EmSZ4rAmdsWIUBmGZmUMQirnZFABLXHX6vpbHcUk9PhIcjAWAAUgtRWiCxF 0cdgzEPB7f0viD1bmikM3vIUicIP73iIsZzHfer/xDjsbj7T2mqLbDB5ifqL/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770789918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eyE/owEf92X9Y4RQVhXVJqOWVIp3/1kGf3iUbywcCic=; b=KXC6/aNix6HyR3lmgU3xkM558J14YvaYTop622wq2eFcdNkyD+nkQDzq+L6p+WSU16X988 RhSbLGxDXtafVUUNxpt4zVu9NmV4o3lqdKi5rgkoyekwhiisxEjc5Sn6Dm0jzMft23koy2 lG1jF+67kYzY6W3i+vU7XBpqA0uQDAN/Sn+J81UBbsHUdo3N6XfkGbeOSdL1W6jiS4mKVh rNPwonogKNus9EsWoG8AYsWds0XgspEEUb2xk3mLaVSZXGljYTBgHHHJ2v9i7Vge4F7bhg wV0mS4y8t3CkcM930WS2veNxLKBUz8a5KT4X+S//BKzRPucyrHRH3Hjyyd/f9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f9nwG0SKczdQZ for ; Wed, 11 Feb 2026 06:05:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33c24 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 11 Feb 2026 06:05:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 7a5288a023ba - main - net80211: clean up time comparison in HT code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7a5288a023baeac2f0c3128506178f89fda3cc0d Auto-Submitted: auto-generated Date: Wed, 11 Feb 2026 06:05:17 +0000 Message-Id: <698c1c1d.33c24.2fc0493d@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=7a5288a023baeac2f0c3128506178f89fda3cc0d commit 7a5288a023baeac2f0c3128506178f89fda3cc0d Author: Adrian Chadd AuthorDate: 2025-12-15 03:45:36 +0000 Commit: Adrian Chadd CommitDate: 2026-02-11 06:02:49 +0000 net80211: clean up time comparison in HT code There's at least one place where the time comparison is wrong, leading to some bad beahaviour around deciding to try and establish/reestablish AMPDU TX sessions. Start addressing these! Differential Revision: https://reviews.freebsd.org/D54390 --- sys/net80211/ieee80211_ht.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c index 88e614e266a1..38568674a792 100644 --- a/sys/net80211/ieee80211_ht.c +++ b/sys/net80211/ieee80211_ht.c @@ -1130,7 +1130,8 @@ again: */ if (rap->rxa_qframes != 0) { /* XXX honor batimeout? */ - if (ticks - rap->rxa_age > ieee80211_ampdu_age) { + if (ieee80211_time_after(ticks - rap->rxa_age, + ieee80211_ampdu_age)) { /* * Too long since we received the first * frame; flush the reorder buffer. @@ -1392,7 +1393,8 @@ ieee80211_ht_node_age(struct ieee80211_node *ni) * See above for more details on what's happening here. */ /* XXX honor batimeout? */ - if (ticks - rap->rxa_age > ieee80211_ampdu_age) { + if (ieee80211_time_after(ticks - rap->rxa_age, + ieee80211_ampdu_age)) { /* * Too long since we received the first * frame; flush the reorder buffer. @@ -2824,7 +2826,7 @@ ieee80211_ampdu_request(struct ieee80211_node *ni, /* defer next try so we don't slam the driver with requests */ tap->txa_attempts = ieee80211_addba_maxtries; /* NB: check in case driver wants to override */ - if (tap->txa_nextrequest <= ticks) + if (ieee80211_time_before_eq(tap->txa_nextrequest, ticks)) tap->txa_nextrequest = ticks + ieee80211_addba_backoff; return 0; }