Lines Matching refs:mlo
496 nl80211_parse_qca_vendor_mlo_link_info(struct driver_sta_mlo_info *mlo, in nl80211_parse_qca_vendor_mlo_link_info() argument
518 mlo->valid_links |= BIT(link_id); in nl80211_parse_qca_vendor_mlo_link_info()
519 os_memcpy(mlo->links[link_id].addr, in nl80211_parse_qca_vendor_mlo_link_info()
522 os_memcpy(mlo->links[link_id].bssid, in nl80211_parse_qca_vendor_mlo_link_info()
527 link_id, MAC2STR(mlo->links[link_id].addr), in nl80211_parse_qca_vendor_mlo_link_info()
528 MAC2STR(mlo->links[link_id].bssid)); in nl80211_parse_qca_vendor_mlo_link_info()
535 static void nl80211_parse_mlo_link_info(struct driver_sta_mlo_info *mlo, in nl80211_parse_mlo_link_info() argument
558 mlo->req_links |= BIT(link_id); in nl80211_parse_mlo_link_info()
561 mlo->valid_links |= BIT(link_id); in nl80211_parse_mlo_link_info()
563 mlo->valid_links |= BIT(link_id); in nl80211_parse_mlo_link_info()
566 os_memcpy(mlo->links[link_id].addr, in nl80211_parse_mlo_link_info()
568 os_memcpy(mlo->links[link_id].bssid, in nl80211_parse_mlo_link_info()
572 link_id, MAC2STR(mlo->links[link_id].addr), in nl80211_parse_mlo_link_info()
573 MAC2STR(mlo->links[link_id].bssid)); in nl80211_parse_mlo_link_info()
636 static int nl80211_update_rejected_links_info(struct driver_sta_mlo_info *mlo, in nl80211_update_rejected_links_info() argument
692 mlo->req_links = BIT(mlo->assoc_link_id) | req_info.non_assoc_links; in nl80211_update_rejected_links_info()
693 if ((mlo->req_links & mlo->valid_links) != mlo->valid_links) { in nl80211_update_rejected_links_info()
696 mlo->req_links, mlo->valid_links, in nl80211_update_rejected_links_info()
697 req_info.non_assoc_links, BIT(mlo->assoc_link_id)); in nl80211_update_rejected_links_info()
702 for_each_link((mlo->req_links & ~mlo->valid_links), i) { in nl80211_update_rejected_links_info()
703 os_memcpy(mlo->links[i].bssid, resp_info.addr[i], ETH_ALEN); in nl80211_update_rejected_links_info()
704 os_memcpy(mlo->links[i].addr, req_info.addr[i], ETH_ALEN); in nl80211_update_rejected_links_info()
741 struct driver_sta_mlo_info *mlo = &drv->sta_mlo_info; in nl80211_parse_mlo_info() local
761 os_memcpy(mlo->ap_mld_addr, nla_data(addr), ETH_ALEN); in nl80211_parse_mlo_info()
763 MAC2STR(mlo->ap_mld_addr)); in nl80211_parse_mlo_info()
766 nl80211_parse_mlo_link_info(mlo, mlo_links); in nl80211_parse_mlo_info()
769 nl80211_parse_qca_vendor_mlo_link_info(mlo, mlo_links); in nl80211_parse_mlo_info()
772 if (!(mlo->valid_links & BIT(mlo->assoc_link_id)) || in nl80211_parse_mlo_info()
773 (!mlo->req_links && in nl80211_parse_mlo_info()
774 nl80211_update_rejected_links_info(mlo, req_ie, resp_ie))) { in nl80211_parse_mlo_info()
776 mlo->valid_links = 0; in nl80211_parse_mlo_info()
780 os_memcpy(drv->bssid, mlo->links[drv->sta_mlo_info.assoc_link_id].bssid, in nl80211_parse_mlo_info()