diff options
| author | Bjoern A. Zeeb <bz@FreeBSD.org> | 2026-04-27 00:55:27 +0000 |
|---|---|---|
| committer | Bjoern A. Zeeb <bz@FreeBSD.org> | 2026-06-05 12:09:23 +0000 |
| commit | cda79e505e2120fe3b4c4f16cb18d92bf2e01e4e (patch) | |
| tree | 053501ccbbe01e9f5fbd237fa5048767dda5551c | |
| parent | 259efa730c3d5c52d6ef0faa1d57d66eea5afa8e (diff) | |
LinuxKPI: 802.11: set flag if frame should be part of an A-MPDU
In the output path where we are sending a frame to the driver mark it
if it should be part of an A-MPDU based on its tid, type, and whether
net80211 thinks that we are in the right state for this.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
| -rw-r--r-- | sys/compat/linuxkpi/common/src/linux_80211.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 11c37f9529de..c6dcae2bffff 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5849,6 +5849,18 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) info->flags |= IEEE80211_TX_CTL_USE_MINRATE; /* mt76 */ } info->control.vif = vif; + + if (tid != IEEE80211_NONQOS_TID) { + struct ieee80211_tx_ampdu *tap; + + tap = &ni->ni_tx_ampdu[tid]; + if (ieee80211_is_data_qos(hdr->frame_control) && + !ieee80211_is_qos_nullfunc(hdr->frame_control) && + !is_multicast_ether_addr(hdr->addr1) && + IEEE80211_AMPDU_RUNNING(tap)) + info->flags |= IEEE80211_TX_CTL_AMPDU; + } + /* XXX-BZ info->control.rates */ #ifdef __notyet__ #ifdef LKPI_80211_HT |
