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()
730 struct cfg80211_connect_resp_params *cr) in cfg80211_connect_result_release_bsses() argument
734 for_each_valid_link(cr, link) { in cfg80211_connect_result_release_bsses()
735 if (!cr->links[link].bss) in cfg80211_connect_result_release_bsses()
737 cfg80211_unhold_bss(bss_from_pub(cr->links[link].bss)); in cfg80211_connect_result_release_bsses()
738 cfg80211_put_bss(wdev->wiphy, cr->links[link].bss); in cfg80211_connect_result_release_bsses()
749 struct cfg80211_connect_resp_params *cr, in __cfg80211_connect_result() argument
770 if (cr->valid_links) { in __cfg80211_connect_result()
771 if (WARN_ON(!cr->ap_mld_addr)) in __cfg80211_connect_result()
774 for_each_valid_link(cr, link) { in __cfg80211_connect_result()
775 if (WARN_ON(!cr->links[link].addr)) in __cfg80211_connect_result()
784 nl80211_send_connect_result(wiphy_to_rdev(wdev->wiphy), dev, cr, in __cfg80211_connect_result()
786 connected_addr = cr->valid_links ? cr->ap_mld_addr : cr->links[0].bssid; in __cfg80211_connect_result()
789 if (wextev && !cr->valid_links) { in __cfg80211_connect_result()
790 if (cr->req_ie && cr->status == WLAN_STATUS_SUCCESS) { in __cfg80211_connect_result()
792 wrqu.data.length = cr->req_ie_len; in __cfg80211_connect_result()
794 cr->req_ie); in __cfg80211_connect_result()
797 if (cr->resp_ie && cr->status == WLAN_STATUS_SUCCESS) { in __cfg80211_connect_result()
799 wrqu.data.length = cr->resp_ie_len; in __cfg80211_connect_result()
801 cr->resp_ie); in __cfg80211_connect_result()
806 if (connected_addr && cr->status == WLAN_STATUS_SUCCESS) { in __cfg80211_connect_result()
815 if (cr->status == WLAN_STATUS_SUCCESS) { in __cfg80211_connect_result()
817 for_each_valid_link(cr, link) { in __cfg80211_connect_result()
818 if (WARN_ON_ONCE(!cr->links[link].bss)) in __cfg80211_connect_result()
823 for_each_valid_link(cr, link) { in __cfg80211_connect_result()
825 if (cr->links[link].status != WLAN_STATUS_SUCCESS) in __cfg80211_connect_result()
828 if (cr->links[link].bss) in __cfg80211_connect_result()
831 cr->links[link].bss = in __cfg80211_connect_result()
833 cr->links[link].bssid, in __cfg80211_connect_result()
838 if (!cr->links[link].bss) { in __cfg80211_connect_result()
842 cfg80211_hold_bss(bss_from_pub(cr->links[link].bss)); in __cfg80211_connect_result()
848 if (cr->status != WLAN_STATUS_SUCCESS) { in __cfg80211_connect_result()
853 cfg80211_connect_result_release_bsses(wdev, cr); in __cfg80211_connect_result()
859 cfg80211_connect_result_release_bsses(wdev, cr); in __cfg80211_connect_result()
864 for_each_valid_link(cr, link) { in __cfg80211_connect_result()
865 if (cr->links[link].status == WLAN_STATUS_SUCCESS) in __cfg80211_connect_result()
867 cr->valid_links &= ~BIT(link); in __cfg80211_connect_result()
869 if (!cr->links[link].bss) in __cfg80211_connect_result()
871 cfg80211_unhold_bss(bss_from_pub(cr->links[link].bss)); in __cfg80211_connect_result()
872 cfg80211_put_bss(wdev->wiphy, cr->links[link].bss); in __cfg80211_connect_result()
874 wdev->valid_links = cr->valid_links; in __cfg80211_connect_result()
875 for_each_valid_link(cr, link) in __cfg80211_connect_result()
877 bss_from_pub(cr->links[link].bss); in __cfg80211_connect_result()
880 if (cr->valid_links) { in __cfg80211_connect_result()
881 for_each_valid_link(cr, link) in __cfg80211_connect_result()
882 memcpy(wdev->links[link].addr, cr->links[link].addr, in __cfg80211_connect_result()
889 for_each_valid_link(cr, link) { in __cfg80211_connect_result()
891 ieee80211_bss_get_elem(cr->links[link].bss, in __cfg80211_connect_result()
909 cr->links[link].bss->channel->band, in __cfg80211_connect_result()
915 for_each_valid_link(cr, link) { in __cfg80211_connect_result()
916 ssid = ieee80211_bss_get_elem(cr->links[link].bss, in __cfg80211_connect_result()
931 for_each_valid_link(cr, link) in __cfg80211_connect_result()
932 cfg80211_put_bss(wdev->wiphy, cr->links[link].bss); in __cfg80211_connect_result()
1012 ev->cr.ap_mld_addr = next; in cfg80211_connect_done()
1013 memcpy((void *)ev->cr.ap_mld_addr, params->ap_mld_addr, in cfg80211_connect_done()
1018 ev->cr.req_ie = next; in cfg80211_connect_done()
1019 ev->cr.req_ie_len = params->req_ie_len; in cfg80211_connect_done()
1020 memcpy((void *)ev->cr.req_ie, params->req_ie, in cfg80211_connect_done()
1025 ev->cr.resp_ie = next; in cfg80211_connect_done()
1026 ev->cr.resp_ie_len = params->resp_ie_len; in cfg80211_connect_done()
1027 memcpy((void *)ev->cr.resp_ie, params->resp_ie, in cfg80211_connect_done()
1032 ev->cr.fils.kek = next; in cfg80211_connect_done()
1033 ev->cr.fils.kek_len = params->fils.kek_len; in cfg80211_connect_done()
1034 memcpy((void *)ev->cr.fils.kek, params->fils.kek, in cfg80211_connect_done()
1039 ev->cr.fils.pmk = next; in cfg80211_connect_done()
1040 ev->cr.fils.pmk_len = params->fils.pmk_len; in cfg80211_connect_done()
1041 memcpy((void *)ev->cr.fils.pmk, params->fils.pmk, in cfg80211_connect_done()
1046 ev->cr.fils.pmkid = next; in cfg80211_connect_done()
1047 memcpy((void *)ev->cr.fils.pmkid, params->fils.pmkid, in cfg80211_connect_done()
1051 ev->cr.fils.update_erp_next_seq_num = params->fils.update_erp_next_seq_num; in cfg80211_connect_done()
1053 ev->cr.fils.erp_next_seq_num = params->fils.erp_next_seq_num; in cfg80211_connect_done()
1054 ev->cr.valid_links = params->valid_links; in cfg80211_connect_done()
1059 ev->cr.links[link].bss = params->links[link].bss; in cfg80211_connect_done()
1062 ev->cr.links[link].addr = next; in cfg80211_connect_done()
1063 memcpy((void *)ev->cr.links[link].addr, in cfg80211_connect_done()
1069 ev->cr.links[link].bssid = next; in cfg80211_connect_done()
1070 memcpy((void *)ev->cr.links[link].bssid, in cfg80211_connect_done()
1076 ev->cr.status = params->status; in cfg80211_connect_done()
1077 ev->cr.timeout_reason = params->timeout_reason; in cfg80211_connect_done()