From: Jaya Prakash Sangaru Date: Mon, 25 Jun 2018 12:02:50 +0000 (+0530) Subject: [9610] [7885] [7872] wlbt: update beacon ies in roaming X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=c79750582ac0cb154b2f3e9cc80faf5c6b4ecc03;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [9610] [7885] [7872] wlbt: update beacon ies in roaming Send beacon ies in roam vendor event. SCSC-Bug-Id: SSB-41243 Change-Id: I12db3173b20e32af9957f1bdebf93ea5ab7282e2 Signed-off-by: Jaya Prakash Sangaru --- diff --git a/drivers/net/wireless/scsc/rx.c b/drivers/net/wireless/scsc/rx.c index e63f1c465057..c206f67b4729 100755 --- a/drivers/net/wireless/scsc/rx.c +++ b/drivers/net/wireless/scsc/rx.c @@ -772,6 +772,7 @@ enum slsi_wlan_vendor_attr_roam_auth { SLSI_WLAN_VENDOR_ATTR_ROAM_AUTH_KEY_REPLAY_CTR, SLSI_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KCK, SLSI_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KEK, + SLSI_WLAN_VENDOR_ATTR_ROAM_BEACON_IE, /* keep last */ SLSI_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST, SLSI_WLAN_VENDOR_ATTR_ROAM_AUTH_MAX = @@ -782,6 +783,7 @@ int slsi_send_roam_vendor_event(struct slsi_dev *sdev, const u8 *bssid, const u8 *req_ie, size_t req_ie_len, const u8 *resp_ie, size_t resp_ie_len, + const u8 *beacon_ie, size_t beacon_ie_len, bool authorized) { int length = ETH_ALEN + 32 + req_ie_len + resp_ie_len; @@ -805,7 +807,8 @@ int slsi_send_roam_vendor_event(struct slsi_dev *sdev, if (nla_put(skb, SLSI_WLAN_VENDOR_ATTR_ROAM_AUTH_BSSID, ETH_ALEN, bssid) || nla_put(skb, SLSI_WLAN_VENDOR_ATTR_ROAM_AUTH_AUTHORIZED, 1, &authorized) || (req_ie && nla_put(skb, SLSI_WLAN_VENDOR_ATTR_ROAM_AUTH_REQ_IE, req_ie_len, req_ie)) || - (resp_ie && nla_put(skb, SLSI_WLAN_VENDOR_ATTR_ROAM_AUTH_RESP_IE, resp_ie_len, resp_ie))) { + (resp_ie && nla_put(skb, SLSI_WLAN_VENDOR_ATTR_ROAM_AUTH_RESP_IE, resp_ie_len, resp_ie)) || + (beacon_ie && nla_put(skb, SLSI_WLAN_VENDOR_ATTR_ROAM_BEACON_IE, beacon_ie_len, beacon_ie))) { SLSI_ERR_NODEV("Failed nla_put 1\n"); slsi_kfree_skb(skb); return -EINVAL; @@ -953,7 +956,9 @@ void slsi_rx_roamed_ind(struct slsi_dev *sdev, struct net_device *dev, struct sk #endif #ifdef CONFIG_SCSC_WLAN_KEY_MGMT_OFFLOAD if (slsi_send_roam_vendor_event(sdev, peer->address, assoc_ie, assoc_ie_len, - assoc_rsp_ie, assoc_rsp_ie_len, !temporal_keys_required) != 0) { + assoc_rsp_ie, assoc_rsp_ie_len, + ndev_vif->sta.sta_bss->ies->data, ndev_vif->sta.sta_bss->ies->len, + !temporal_keys_required) != 0) { SLSI_NET_ERR(dev, "Could not send Roam vendor event up"); } #endif