Lines Matching refs:iter_data
918 static void ath9k_vif_iter_set_beacon(struct ath9k_vif_iter_data *iter_data, in ath9k_vif_iter_set_beacon() argument
922 if (!iter_data->primary_beacon_vif) { in ath9k_vif_iter_set_beacon()
923 iter_data->primary_beacon_vif = vif; in ath9k_vif_iter_set_beacon()
925 if (iter_data->primary_beacon_vif->type != NL80211_IFTYPE_AP && in ath9k_vif_iter_set_beacon()
927 iter_data->primary_beacon_vif = vif; in ath9k_vif_iter_set_beacon()
930 iter_data->beacons = true; in ath9k_vif_iter_set_beacon()
931 iter_data->nbcnvifs += 1; in ath9k_vif_iter_set_beacon()
934 static void ath9k_vif_iter(struct ath9k_vif_iter_data *iter_data, in ath9k_vif_iter() argument
940 if (iter_data->has_hw_macaddr) { in ath9k_vif_iter()
942 iter_data->mask[i] &= in ath9k_vif_iter()
943 ~(iter_data->hw_macaddr[i] ^ mac[i]); in ath9k_vif_iter()
945 memcpy(iter_data->hw_macaddr, mac, ETH_ALEN); in ath9k_vif_iter()
946 iter_data->has_hw_macaddr = true; in ath9k_vif_iter()
950 iter_data->slottime = 20; in ath9k_vif_iter()
954 iter_data->naps++; in ath9k_vif_iter()
956 ath9k_vif_iter_set_beacon(iter_data, vif); in ath9k_vif_iter()
959 iter_data->nstations++; in ath9k_vif_iter()
960 if (avp->assoc && !iter_data->primary_sta) in ath9k_vif_iter()
961 iter_data->primary_sta = vif; in ath9k_vif_iter()
964 iter_data->nocbs++; in ath9k_vif_iter()
967 iter_data->nadhocs++; in ath9k_vif_iter()
969 ath9k_vif_iter_set_beacon(iter_data, vif); in ath9k_vif_iter()
972 iter_data->nmeshes++; in ath9k_vif_iter()
974 ath9k_vif_iter_set_beacon(iter_data, vif); in ath9k_vif_iter()
977 iter_data->nwds++; in ath9k_vif_iter()
986 struct ath9k_vif_iter_data *iter_data) in ath9k_update_bssid_mask() argument
999 if (!iter_data->has_hw_macaddr) in ath9k_update_bssid_mask()
1006 iter_data->mask[i] &= in ath9k_update_bssid_mask()
1007 ~(iter_data->hw_macaddr[i] ^ in ath9k_update_bssid_mask()
1015 struct ath9k_vif_iter_data *iter_data) in ath9k_calculate_iter_data() argument
1023 memset(iter_data, 0, sizeof(*iter_data)); in ath9k_calculate_iter_data()
1024 eth_broadcast_addr(iter_data->mask); in ath9k_calculate_iter_data()
1025 iter_data->slottime = 9; in ath9k_calculate_iter_data()
1028 ath9k_vif_iter(iter_data, avp->vif->addr, avp->vif); in ath9k_calculate_iter_data()
1030 ath9k_update_bssid_mask(sc, ctx, iter_data); in ath9k_calculate_iter_data()
1106 struct ath9k_vif_iter_data iter_data; in ath9k_calculate_summary_state() local
1119 ath9k_calculate_iter_data(sc, ctx, &iter_data); in ath9k_calculate_summary_state()
1121 if (iter_data.has_hw_macaddr) in ath9k_calculate_summary_state()
1122 memcpy(common->macaddr, iter_data.hw_macaddr, ETH_ALEN); in ath9k_calculate_summary_state()
1124 memcpy(common->bssidmask, iter_data.mask, ETH_ALEN); in ath9k_calculate_summary_state()
1127 if (iter_data.naps > 0) { in ath9k_calculate_summary_state()
1132 if (iter_data.beacons) in ath9k_calculate_summary_state()
1135 if (iter_data.nmeshes) in ath9k_calculate_summary_state()
1137 else if (iter_data.nocbs) in ath9k_calculate_summary_state()
1139 else if (iter_data.nwds) in ath9k_calculate_summary_state()
1141 else if (iter_data.nadhocs) in ath9k_calculate_summary_state()
1150 if ((iter_data.nstations + iter_data.nadhocs + iter_data.nmeshes) > 0) in ath9k_calculate_summary_state()
1154 if (iter_data.naps == 1 && iter_data.beacons) in ath9k_calculate_summary_state()
1159 bool changed = (iter_data.primary_sta != ctx->primary_sta); in ath9k_calculate_summary_state()
1161 if (iter_data.primary_sta) { in ath9k_calculate_summary_state()
1162 iter_data.primary_beacon_vif = iter_data.primary_sta; in ath9k_calculate_summary_state()
1163 iter_data.beacons = true; in ath9k_calculate_summary_state()
1164 ath9k_set_assoc_state(sc, iter_data.primary_sta, in ath9k_calculate_summary_state()
1166 ctx->primary_sta = iter_data.primary_sta; in ath9k_calculate_summary_state()
1176 sc->nbcnvifs = iter_data.nbcnvifs; in ath9k_calculate_summary_state()
1177 ath9k_beacon_config(sc, iter_data.primary_beacon_vif, in ath9k_calculate_summary_state()
1178 iter_data.beacons); in ath9k_calculate_summary_state()
1181 if (ah->slottime != iter_data.slottime) { in ath9k_calculate_summary_state()
1182 ah->slottime = iter_data.slottime; in ath9k_calculate_summary_state()
1186 if (iter_data.primary_sta) in ath9k_calculate_summary_state()