Lines Matching full:links

275 			cr.links[0].bssid = bssid;  in cfg80211_conn_work()
380 cr.links[0].bssid = mgmt->bssid; in cfg80211_sme_rx_auth()
472 if (!wdev->links[link].client.current_bss) in cfg80211_wdev_release_bsses()
474 cfg80211_unhold_bss(wdev->links[link].client.current_bss); in cfg80211_wdev_release_bsses()
476 &wdev->links[link].client.current_bss->pub); in cfg80211_wdev_release_bsses()
477 wdev->links[link].client.current_bss = NULL; in cfg80211_wdev_release_bsses()
486 if (!wdev->links[link].client.current_bss || in cfg80211_wdev_release_link_bsses()
489 cfg80211_unhold_bss(wdev->links[link].client.current_bss); in cfg80211_wdev_release_link_bsses()
491 &wdev->links[link].client.current_bss->pub); in cfg80211_wdev_release_link_bsses()
492 wdev->links[link].client.current_bss = NULL; in cfg80211_wdev_release_link_bsses()
722 if (!cr->links[link].bss) in cfg80211_connect_result_release_bsses()
724 cfg80211_unhold_bss(bss_from_pub(cr->links[link].bss)); in cfg80211_connect_result_release_bsses()
725 cfg80211_put_bss(wdev->wiphy, cr->links[link].bss); in cfg80211_connect_result_release_bsses()
762 if (WARN_ON(!cr->links[link].addr)) in __cfg80211_connect_result()
773 connected_addr = cr->valid_links ? cr->ap_mld_addr : cr->links[0].bssid; in __cfg80211_connect_result()
805 if (WARN_ON_ONCE(!cr->links[link].bss)) in __cfg80211_connect_result()
812 if (cr->links[link].status != WLAN_STATUS_SUCCESS) in __cfg80211_connect_result()
815 if (cr->links[link].bss) in __cfg80211_connect_result()
818 cr->links[link].bss = in __cfg80211_connect_result()
820 cr->links[link].bssid, in __cfg80211_connect_result()
825 if (!cr->links[link].bss) { in __cfg80211_connect_result()
829 cfg80211_hold_bss(bss_from_pub(cr->links[link].bss)); in __cfg80211_connect_result()
850 memset(wdev->links, 0, sizeof(wdev->links)); in __cfg80211_connect_result()
852 if (cr->links[link].status == WLAN_STATUS_SUCCESS) in __cfg80211_connect_result()
855 /* don't require bss pointer for failed links */ in __cfg80211_connect_result()
856 if (!cr->links[link].bss) in __cfg80211_connect_result()
858 cfg80211_unhold_bss(bss_from_pub(cr->links[link].bss)); in __cfg80211_connect_result()
859 cfg80211_put_bss(wdev->wiphy, cr->links[link].bss); in __cfg80211_connect_result()
863 wdev->links[link].client.current_bss = in __cfg80211_connect_result()
864 bss_from_pub(cr->links[link].bss); in __cfg80211_connect_result()
869 memcpy(wdev->links[link].addr, cr->links[link].addr, in __cfg80211_connect_result()
878 ieee80211_bss_get_elem(cr->links[link].bss, in __cfg80211_connect_result()
896 cr->links[link].bss->channel->band, in __cfg80211_connect_result()
903 ssid = ieee80211_bss_get_elem(cr->links[link].bss, in __cfg80211_connect_result()
919 cfg80211_put_bss(wdev->wiphy, cr->links[link].bss); in __cfg80211_connect_result()
978 cfg80211_update_link_bss(wdev, &params->links[link].bss); in cfg80211_connect_done()
979 link_info_size += params->links[link].bssid ? ETH_ALEN : 0; in cfg80211_connect_done()
980 link_info_size += params->links[link].addr ? ETH_ALEN : 0; in cfg80211_connect_done()
992 params->links[link].bss); in cfg80211_connect_done()
1043 if (params->links[link].bss) in cfg80211_connect_done()
1045 bss_from_pub(params->links[link].bss)); in cfg80211_connect_done()
1046 ev->cr.links[link].bss = params->links[link].bss; in cfg80211_connect_done()
1048 if (params->links[link].addr) { in cfg80211_connect_done()
1049 ev->cr.links[link].addr = next; in cfg80211_connect_done()
1050 memcpy((void *)ev->cr.links[link].addr, in cfg80211_connect_done()
1051 params->links[link].addr, in cfg80211_connect_done()
1055 if (params->links[link].bssid) { in cfg80211_connect_done()
1056 ev->cr.links[link].bssid = next; in cfg80211_connect_done()
1057 memcpy((void *)ev->cr.links[link].bssid, in cfg80211_connect_done()
1058 params->links[link].bssid, in cfg80211_connect_done()
1097 if (WARN_ON(!info->links[link].addr)) in __cfg80211_roamed()
1105 if (WARN_ON(!info->links[link].bss)) in __cfg80211_roamed()
1109 memset(wdev->links, 0, sizeof(wdev->links)); in __cfg80211_roamed()
1112 cfg80211_hold_bss(bss_from_pub(info->links[link].bss)); in __cfg80211_roamed()
1113 wdev->links[link].client.current_bss = in __cfg80211_roamed()
1114 bss_from_pub(info->links[link].bss); in __cfg80211_roamed()
1119 info->links[0].bss->bssid; in __cfg80211_roamed()
1123 memcpy(wdev->links[link].addr, info->links[link].addr, in __cfg80211_roamed()
1158 cfg80211_put_bss(wdev->wiphy, info->links[link].bss); in __cfg80211_roamed()
1161 /* Consumes info->links.bss object(s) one way or another */
1175 link_info_size += info->links[link].addr ? ETH_ALEN : 0; in cfg80211_roamed()
1176 link_info_size += info->links[link].bssid ? ETH_ALEN : 0; in cfg80211_roamed()
1178 if (info->links[link].bss) in cfg80211_roamed()
1181 info->links[link].bss = in cfg80211_roamed()
1183 info->links[link].channel, in cfg80211_roamed()
1184 info->links[link].bssid, in cfg80211_roamed()
1190 if (!info->links[link].bss) { in cfg80211_roamed()
1252 ev->rm.links[link].bss = info->links[link].bss; in cfg80211_roamed()
1254 if (info->links[link].addr) { in cfg80211_roamed()
1255 ev->rm.links[link].addr = next; in cfg80211_roamed()
1256 memcpy((void *)ev->rm.links[link].addr, in cfg80211_roamed()
1257 info->links[link].addr, in cfg80211_roamed()
1262 if (info->links[link].bssid) { in cfg80211_roamed()
1263 ev->rm.links[link].bssid = next; in cfg80211_roamed()
1264 memcpy((void *)ev->rm.links[link].bssid, in cfg80211_roamed()
1265 info->links[link].bssid, in cfg80211_roamed()
1279 cfg80211_put_bss(wdev->wiphy, info->links[link].bss); in cfg80211_roamed()