From: Ryder Lee Date: Thu, 17 Jun 2021 20:38:59 +0000 (+0800) Subject: mac80211: check per vif offload_flags in Tx path X-Git-Tag: v5.15~843^2~25^2~36 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4f2e3eb6c985cc8c2b88d5089b1920b831bc5ed9;p=platform%2Fkernel%2Flinux-starfive.git 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 Link: https://lore.kernel.org/r/177785418cf407808bf3a44760302d0647076990.1623961575.git.ryder.lee@mediatek.com Signed-off-by: Johannes Berg --- 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;