diff options
Diffstat (limited to 'package/kernel/mac80211/patches/subsys/386-mac80211-check-per-vif-offload_flags-in-Tx-path.patch')
-rw-r--r-- | package/kernel/mac80211/patches/subsys/386-mac80211-check-per-vif-offload_flags-in-Tx-path.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/subsys/386-mac80211-check-per-vif-offload_flags-in-Tx-path.patch b/package/kernel/mac80211/patches/subsys/386-mac80211-check-per-vif-offload_flags-in-Tx-path.patch new file mode 100644 index 0000000000..cfad1c3927 --- /dev/null +++ b/package/kernel/mac80211/patches/subsys/386-mac80211-check-per-vif-offload_flags-in-Tx-path.patch @@ -0,0 +1,26 @@ +From: Ryder Lee <ryder.lee@mediatek.com> +Date: Fri, 18 Jun 2021 04:38:59 +0800 +Subject: [PATCH] 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> +--- + +--- a/net/mac80211/tx.c ++++ b/net/mac80211/tx.c +@@ -3309,6 +3309,9 @@ static bool ieee80211_amsdu_aggregate(st + 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; + |