mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 06:57:57 +00:00
d717343c85
Minor cleanup and code reorganization, along with a change to not disable offload anymore when a tkip or sw crypto key is added Signed-off-by: Felix Fietkau <nbd@nbd.name>
32 lines
889 B
Diff
32 lines
889 B
Diff
From: Felix Fietkau <nbd@nbd.name>
|
|
Date: Fri, 21 Aug 2020 06:03:45 +0200
|
|
Subject: [PATCH] mac80211: set info->control.hw_key for encap offload
|
|
packets
|
|
|
|
This is needed for drivers that don't do the key lookup themselves
|
|
|
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|
---
|
|
|
|
--- a/net/mac80211/tx.c
|
|
+++ b/net/mac80211/tx.c
|
|
@@ -4185,6 +4185,7 @@ static void ieee80211_8023_xmit(struct i
|
|
{
|
|
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
|
struct ieee80211_local *local = sdata->local;
|
|
+ struct ieee80211_key *key;
|
|
struct tid_ampdu_tx *tid_tx;
|
|
u8 tid;
|
|
|
|
@@ -4233,6 +4234,10 @@ static void ieee80211_8023_xmit(struct i
|
|
info->control.flags |= IEEE80211_TX_CTRL_HW_80211_ENCAP;
|
|
info->control.vif = &sdata->vif;
|
|
|
|
+ key = rcu_dereference(sta->ptk[sta->ptk_idx]);
|
|
+ if (key)
|
|
+ info->control.hw_key = &key->conf;
|
|
+
|
|
ieee80211_tx_8023(sdata, skb, skb->len, sta, false);
|
|
|
|
return;
|