Commit d1b9bb65 authored by Johannes Berg's avatar Johannes Berg

wifi: mac80211: allow beacon protection HW offload

In case of beacon protection, check if the key was offloaded
to the hardware and in that case set control.hw_key so that
the encryption function will see it and only do the needed
steps that aren't done in hardware.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarGregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230301115906.b2becd9a22fb.I6c0b9c50c6a481128ba912a11cb7afc92c4b6da7@changeidSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 3ffcc659
...@@ -5121,6 +5121,10 @@ static int ieee80211_beacon_protect(struct sk_buff *skb, ...@@ -5121,6 +5121,10 @@ static int ieee80211_beacon_protect(struct sk_buff *skb,
return -EINVAL; return -EINVAL;
} }
if (!(tx.key->conf.flags & IEEE80211_KEY_FLAG_SW_MGMT_TX) &&
tx.key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE)
IEEE80211_SKB_CB(skb)->control.hw_key = &tx.key->conf;
tx.local = local; tx.local = local;
tx.sdata = sdata; tx.sdata = sdata;
__skb_queue_head_init(&tx.skbs); __skb_queue_head_init(&tx.skbs);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment