[PATCH 1/4] mac80211: check per vif offload_flags in Tx path
Felix Fietkau
nbd at nbd.name
Thu Jun 17 12:08:33 PDT 2021
On 2021-06-17 20:53, Ryder Lee wrote:
> 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 at mediatek.com>
> ---
> net/mac80211/tx.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
> index 0a4bc9e08637..8cb1289c704a 100644
> --- a/net/mac80211/tx.c
> +++ b/net/mac80211/tx.c
> @@ -3695,7 +3698,8 @@ struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw,
> }
>
> if (skb_has_frag_list(skb) &&
> - !ieee80211_hw_check(&local->hw, TX_FRAG_LIST)) {
> + (!ieee80211_hw_check(&local->hw, TX_FRAG_LIST) ||
> + vif->offload_flags & IEEE80211_OFFLOAD_ENCAP_ENABLED)) {
> if (skb_linearize(skb)) {
> ieee80211_free_txskb(&local->hw, skb);
> goto begin;
I think this chunk should be dropped.
- Felix
More information about the Linux-mediatek
mailing list