From 9604aa4723cc4c32c4910813e8dbe331e27271f6 Mon Sep 17 00:00:00 2001 From: lean Date: Wed, 16 Feb 2022 13:50:00 +0800 Subject: [PATCH] mac80211: agg-tx: refactor sending addba --- ...gression-in-SSN-handling-of-addba-tx.patch | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 package/kernel/mac80211/patches/subsys/305-mac80211-fix-regression-in-SSN-handling-of-addba-tx.patch diff --git a/package/kernel/mac80211/patches/subsys/305-mac80211-fix-regression-in-SSN-handling-of-addba-tx.patch b/package/kernel/mac80211/patches/subsys/305-mac80211-fix-regression-in-SSN-handling-of-addba-tx.patch new file mode 100644 index 000000000..dc502f6e3 --- /dev/null +++ b/package/kernel/mac80211/patches/subsys/305-mac80211-fix-regression-in-SSN-handling-of-addba-tx.patch @@ -0,0 +1,48 @@ +From 8146ed72e9754f67c1090e92f29b9b0f542f12f9 Mon Sep 17 00:00:00 2001 +From: W_Y_CPP <383152993@qq.com> +Date: Tue, 15 Feb 2022 00:19:41 -0500 +Subject: [PATCH] mac80211-fix-regression-in-SSN-handling-of-addba-tx. + +--- + net/mac80211/agg-tx.c | 4 ++-- + net/mac80211/sta_info.h | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c +index b37c8a9..49f0102 100644 +--- a/net/mac80211/agg-tx.c ++++ b/net/mac80211/agg-tx.c +@@ -480,8 +480,7 @@ static void ieee80211_send_addba_with_timeout(struct sta_info *sta, + + /* send AddBA request */ + ieee80211_send_addba_request(sdata, sta->sta.addr, tid, +- tid_tx->dialog_token, +- sta->tid_seq[tid] >> 4, ++ tid_tx->dialog_token, tid_tx->ssn, + buf_size, tid_tx->timeout); + + WARN_ON(test_and_set_bit(HT_AGG_STATE_SENT_ADDBA, &tid_tx->state)); +@@ -523,6 +522,7 @@ void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid) + + params.ssn = sta->tid_seq[tid] >> 4; + ret = drv_ampdu_action(local, sdata, ¶ms); ++ tid_tx->ssn = params.ssn; + if (ret == IEEE80211_AMPDU_TX_START_DELAY_ADDBA) { + return; + } else if (ret == IEEE80211_AMPDU_TX_START_IMMEDIATE) { +diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h +index 8559801..05d7405 100644 +--- a/net/mac80211/sta_info.h ++++ b/net/mac80211/sta_info.h +@@ -190,7 +190,7 @@ struct tid_ampdu_tx { + u8 stop_initiator; + bool tx_stop; + u16 buf_size; +- ++ u16 ssn; + u16 failed_bar_ssn; + bool bar_pending; + bool amsdu; +-- +2.17.1 +