Skip to content

Commit

Permalink
wifi: mac80211: allow beacon protection HW offload
Browse files Browse the repository at this point in the history
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: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230301115906.b2becd9a22fb.I6c0b9c50c6a481128ba912a11cb7afc92c4b6da7@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
  • Loading branch information
Johannes Berg committed Mar 7, 2023
1 parent 3ffcc65 commit d1b9bb6
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions net/mac80211/tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -5121,6 +5121,10 @@ static int ieee80211_beacon_protect(struct sk_buff *skb,
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.sdata = sdata;
__skb_queue_head_init(&tx.skbs);
Expand Down

0 comments on commit d1b9bb6

Please sign in to comment.