Lines Matching refs:cr
274 struct cfg80211_connect_resp_params cr; in cfg80211_conn_work() local
276 memset(&cr, 0, sizeof(cr)); in cfg80211_conn_work()
277 cr.status = -1; in cfg80211_conn_work()
278 cr.links[0].bssid = bssid; in cfg80211_conn_work()
279 cr.timeout_reason = treason; in cfg80211_conn_work()
280 __cfg80211_connect_result(wdev->netdev, &cr, false); in cfg80211_conn_work()
389 struct cfg80211_connect_resp_params cr; in cfg80211_sme_rx_auth() local
391 memset(&cr, 0, sizeof(cr)); in cfg80211_sme_rx_auth()
392 cr.status = status_code; in cfg80211_sme_rx_auth()
393 cr.links[0].bssid = mgmt->bssid; in cfg80211_sme_rx_auth()
394 cr.timeout_reason = NL80211_TIMEOUT_UNSPECIFIED; in cfg80211_sme_rx_auth()
395 __cfg80211_connect_result(wdev->netdev, &cr, false); in cfg80211_sme_rx_auth()
715 struct cfg80211_connect_resp_params *cr) in cfg80211_connect_result_release_bsses() argument
719 for_each_valid_link(cr, link) { in cfg80211_connect_result_release_bsses()
720 if (!cr->links[link].bss) in cfg80211_connect_result_release_bsses()
722 cfg80211_unhold_bss(bss_from_pub(cr->links[link].bss)); in cfg80211_connect_result_release_bsses()
723 cfg80211_put_bss(wdev->wiphy, cr->links[link].bss); in cfg80211_connect_result_release_bsses()
734 struct cfg80211_connect_resp_params *cr, in __cfg80211_connect_result() argument
755 if (cr->valid_links) { in __cfg80211_connect_result()
756 if (WARN_ON(!cr->ap_mld_addr)) in __cfg80211_connect_result()
759 for_each_valid_link(cr, link) { in __cfg80211_connect_result()
760 if (WARN_ON(!cr->links[link].addr)) in __cfg80211_connect_result()
769 nl80211_send_connect_result(wiphy_to_rdev(wdev->wiphy), dev, cr, in __cfg80211_connect_result()
771 connected_addr = cr->valid_links ? cr->ap_mld_addr : cr->links[0].bssid; in __cfg80211_connect_result()
774 if (wextev && !cr->valid_links) { in __cfg80211_connect_result()
775 if (cr->req_ie && cr->status == WLAN_STATUS_SUCCESS) { in __cfg80211_connect_result()
777 wrqu.data.length = cr->req_ie_len; in __cfg80211_connect_result()
779 cr->req_ie); in __cfg80211_connect_result()
782 if (cr->resp_ie && cr->status == WLAN_STATUS_SUCCESS) { in __cfg80211_connect_result()
784 wrqu.data.length = cr->resp_ie_len; in __cfg80211_connect_result()
786 cr->resp_ie); in __cfg80211_connect_result()
791 if (connected_addr && cr->status == WLAN_STATUS_SUCCESS) { in __cfg80211_connect_result()
800 if (cr->status == WLAN_STATUS_SUCCESS) { in __cfg80211_connect_result()
802 for_each_valid_link(cr, link) { in __cfg80211_connect_result()
803 if (WARN_ON_ONCE(!cr->links[link].bss)) in __cfg80211_connect_result()
808 for_each_valid_link(cr, link) { in __cfg80211_connect_result()
810 if (cr->links[link].status != WLAN_STATUS_SUCCESS) in __cfg80211_connect_result()
813 if (cr->links[link].bss) in __cfg80211_connect_result()
816 cr->links[link].bss = in __cfg80211_connect_result()
818 cr->links[link].bssid, in __cfg80211_connect_result()
823 if (!cr->links[link].bss) { in __cfg80211_connect_result()
827 cfg80211_hold_bss(bss_from_pub(cr->links[link].bss)); in __cfg80211_connect_result()
833 if (cr->status != WLAN_STATUS_SUCCESS) { in __cfg80211_connect_result()
838 cfg80211_connect_result_release_bsses(wdev, cr); in __cfg80211_connect_result()
844 cfg80211_connect_result_release_bsses(wdev, cr); in __cfg80211_connect_result()
849 for_each_valid_link(cr, link) { in __cfg80211_connect_result()
850 if (cr->links[link].status == WLAN_STATUS_SUCCESS) in __cfg80211_connect_result()
852 cr->valid_links &= ~BIT(link); in __cfg80211_connect_result()
854 if (!cr->links[link].bss) in __cfg80211_connect_result()
856 cfg80211_unhold_bss(bss_from_pub(cr->links[link].bss)); in __cfg80211_connect_result()
857 cfg80211_put_bss(wdev->wiphy, cr->links[link].bss); in __cfg80211_connect_result()
859 wdev->valid_links = cr->valid_links; in __cfg80211_connect_result()
860 for_each_valid_link(cr, link) in __cfg80211_connect_result()
862 bss_from_pub(cr->links[link].bss); in __cfg80211_connect_result()
865 if (cr->valid_links) { in __cfg80211_connect_result()
866 for_each_valid_link(cr, link) in __cfg80211_connect_result()
867 memcpy(wdev->links[link].addr, cr->links[link].addr, in __cfg80211_connect_result()
874 for_each_valid_link(cr, link) { in __cfg80211_connect_result()
876 ieee80211_bss_get_elem(cr->links[link].bss, in __cfg80211_connect_result()
894 cr->links[link].bss->channel->band, in __cfg80211_connect_result()
900 for_each_valid_link(cr, link) { in __cfg80211_connect_result()
901 ssid = ieee80211_bss_get_elem(cr->links[link].bss, in __cfg80211_connect_result()
916 for_each_valid_link(cr, link) in __cfg80211_connect_result()
917 cfg80211_put_bss(wdev->wiphy, cr->links[link].bss); in __cfg80211_connect_result()
997 ev->cr.ap_mld_addr = next; in cfg80211_connect_done()
998 memcpy((void *)ev->cr.ap_mld_addr, params->ap_mld_addr, in cfg80211_connect_done()
1003 ev->cr.req_ie = next; in cfg80211_connect_done()
1004 ev->cr.req_ie_len = params->req_ie_len; in cfg80211_connect_done()
1005 memcpy((void *)ev->cr.req_ie, params->req_ie, in cfg80211_connect_done()
1010 ev->cr.resp_ie = next; in cfg80211_connect_done()
1011 ev->cr.resp_ie_len = params->resp_ie_len; in cfg80211_connect_done()
1012 memcpy((void *)ev->cr.resp_ie, params->resp_ie, in cfg80211_connect_done()
1017 ev->cr.fils.kek = next; in cfg80211_connect_done()
1018 ev->cr.fils.kek_len = params->fils.kek_len; in cfg80211_connect_done()
1019 memcpy((void *)ev->cr.fils.kek, params->fils.kek, in cfg80211_connect_done()
1024 ev->cr.fils.pmk = next; in cfg80211_connect_done()
1025 ev->cr.fils.pmk_len = params->fils.pmk_len; in cfg80211_connect_done()
1026 memcpy((void *)ev->cr.fils.pmk, params->fils.pmk, in cfg80211_connect_done()
1031 ev->cr.fils.pmkid = next; in cfg80211_connect_done()
1032 memcpy((void *)ev->cr.fils.pmkid, params->fils.pmkid, in cfg80211_connect_done()
1036 ev->cr.fils.update_erp_next_seq_num = params->fils.update_erp_next_seq_num; in cfg80211_connect_done()
1038 ev->cr.fils.erp_next_seq_num = params->fils.erp_next_seq_num; in cfg80211_connect_done()
1039 ev->cr.valid_links = params->valid_links; in cfg80211_connect_done()
1044 ev->cr.links[link].bss = params->links[link].bss; in cfg80211_connect_done()
1047 ev->cr.links[link].addr = next; in cfg80211_connect_done()
1048 memcpy((void *)ev->cr.links[link].addr, in cfg80211_connect_done()
1054 ev->cr.links[link].bssid = next; in cfg80211_connect_done()
1055 memcpy((void *)ev->cr.links[link].bssid, in cfg80211_connect_done()
1061 ev->cr.status = params->status; in cfg80211_connect_done()
1062 ev->cr.timeout_reason = params->timeout_reason; in cfg80211_connect_done()