From: stsp Date: Fri, 3 Sep 2021 12:39:43 +0000 (+0000) Subject: Reset a net80211 node's QoS Tx sequence counter to the start of the X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=bc7d119172dbdca76666fcd6b6438c8ff5226d3e;p=openbsd Reset a net80211 node's QoS Tx sequence counter to the start of the block ack window when a new Tx block ack agreement is established. In the future this change will allow the iwx(4) driver to initialize this sequence number such that it corresponds to what the firmware expects. Note that ba->ba_winstart is set to ni->ni_qos_txseqs[tid] when a new Tx agg agreement is initiated in ieee80211_node_addba_request(). Unless the driver resets ba->ba_winstart before ieee80211_addba_resp_accept() runs, which is what iwx(4) will do, the assignment added with this patch is a no-op. --- diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index e66a661a1a4..99699b933a0 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ieee80211_input.c,v 1.237 2021/05/18 08:10:45 stsp Exp $ */ +/* $OpenBSD: ieee80211_input.c,v 1.238 2021/09/03 12:39:43 stsp Exp $ */ /*- * Copyright (c) 2001 Atsushi Onoe @@ -3018,6 +3018,8 @@ ieee80211_addba_resp_accept(struct ieee80211com *ic, /* Reset ADDBA request interval. */ ni->ni_addba_req_intval[tid] = 1; + ni->ni_qos_txseqs[tid] = ba->ba_winstart; + /* start Block Ack inactivity timeout */ if (ba->ba_timeout_val != 0) timeout_add_usec(&ba->ba_to, ba->ba_timeout_val);