summaryrefslogtreecommitdiffstats
path: root/net/wireless/nl80211.c
diff options
context:
space:
mode:
authorVinayak Yadawad <vinayak.yadawad@broadcom.com>2022-09-07 14:44:48 +0200
committerJohannes Berg <johannes.berg@intel.com>2022-10-07 15:27:40 +0200
commit0ff57171d6d225558c81a69439d5323e35b40549 (patch)
treed6e899afeb8ffa4d54261f0845a24b285c525c92 /net/wireless/nl80211.c
parentwifi: mac80211: minstrel_ht: remove unused has_mrr member from struct minstre... (diff)
downloadlinux-0ff57171d6d225558c81a69439d5323e35b40549.tar.xz
linux-0ff57171d6d225558c81a69439d5323e35b40549.zip
cfg80211: Update Transition Disable policy during port authorization
In case of 4way handshake offload, transition disable policy updated by the AP during EAPOL 3/4 is not updated to the upper layer. This results in mismatch between transition disable policy between the upper layer and the driver. This patch addresses this issue by updating transition disable policy as part of port authorization indication. Signed-off-by: Vinayak Yadawad <vinayak.yadawad@broadcom.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r--net/wireless/nl80211.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 1d0277758d0e..fe368af39554 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -17942,7 +17942,8 @@ void nl80211_send_roamed(struct cfg80211_registered_device *rdev,
}
void nl80211_send_port_authorized(struct cfg80211_registered_device *rdev,
- struct net_device *netdev, const u8 *bssid)
+ struct net_device *netdev, const u8 *bssid,
+ const u8 *td_bitmap, u8 td_bitmap_len)
{
struct sk_buff *msg;
void *hdr;
@@ -17962,6 +17963,11 @@ void nl80211_send_port_authorized(struct cfg80211_registered_device *rdev,
nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, bssid))
goto nla_put_failure;
+ if ((td_bitmap_len > 0) && td_bitmap)
+ if (nla_put(msg, NL80211_ATTR_TD_BITMAP,
+ td_bitmap_len, td_bitmap))
+ goto nla_put_failure;
+
genlmsg_end(msg, hdr);
genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,