mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 09:39:00 +00:00
32 lines
880 B
Diff
32 lines
880 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
|
||
|
@@ -4191,6 +4191,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;
|
||
|
|
||
|
@@ -4239,6 +4240,10 @@ static void ieee80211_8023_xmit(struct i
|
||
|
info->flags |= IEEE80211_TX_CTL_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;
|