summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyder Lee <ryder.lee@mediatek.com>2021-06-18 04:38:59 +0800
committerJohannes Berg <johannes.berg@intel.com>2021-06-23 11:29:13 +0200
commit4f2e3eb6c985cc8c2b88d5089b1920b831bc5ed9 (patch)
treeb9551d76133fc1a970944688255e6981ef323b25
parent3187ba0cea77c8a4cdaed44fbff02c6e63e509aa (diff)
downloadlwn-4f2e3eb6c985cc8c2b88d5089b1920b831bc5ed9.tar.gz
lwn-4f2e3eb6c985cc8c2b88d5089b1920b831bc5ed9.zip
mac80211: check per vif offload_flags in Tx path
offload_flags has been introduced to indicate encap status of each interface. An interface can encap offload at runtime, or if it has some extra limitations it can simply override the flags, so it's more flexible to check offload_flags in Tx path. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Link: https://lore.kernel.org/r/177785418cf407808bf3a44760302d0647076990.1623961575.git.ryder.lee@mediatek.com Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--net/mac80211/tx.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index ac506245bb94..caa7caa89ab9 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -3287,6 +3287,9 @@ static bool ieee80211_amsdu_aggregate(struct ieee80211_sub_if_data *sdata,
if (!ieee80211_hw_check(&local->hw, TX_AMSDU))
return false;
+ if (sdata->vif.offload_flags & IEEE80211_OFFLOAD_ENCAP_ENABLED)
+ return false;
+
if (skb_is_gso(skb))
return false;