mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 01:28:59 +00:00
bb5da058db
Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit0f6887972a
) (cherry-picked from commit6f2044c2d7
)
27 lines
922 B
Diff
27 lines
922 B
Diff
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
|
|
@@ -3331,6 +3331,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;
|
|
|