• Home
  • Raw
  • Download

Lines Matching refs:sinfo

640 	struct station_info *sinfo = NULL;  in sta_info_insert_finish()  local
651 sinfo = kzalloc(sizeof(struct station_info), GFP_KERNEL); in sta_info_insert_finish()
652 if (!sinfo) { in sta_info_insert_finish()
690 sinfo->generation = local->sta_generation; in sta_info_insert_finish()
691 cfg80211_new_sta(sdata->dev, sta->sta.addr, sinfo, GFP_KERNEL); in sta_info_insert_finish()
692 kfree(sinfo); in sta_info_insert_finish()
713 kfree(sinfo); in sta_info_insert_finish()
1056 struct station_info *sinfo; in __sta_info_destroy_part2() local
1099 sinfo = kzalloc(sizeof(*sinfo), GFP_KERNEL); in __sta_info_destroy_part2()
1100 if (sinfo) in __sta_info_destroy_part2()
1101 sta_set_sinfo(sta, sinfo, true); in __sta_info_destroy_part2()
1102 cfg80211_del_sta_sinfo(sdata->dev, sta->sta.addr, sinfo, GFP_KERNEL); in __sta_info_destroy_part2()
1103 kfree(sinfo); in __sta_info_destroy_part2()
2251 void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo, in sta_set_sinfo() argument
2262 sinfo->generation = sdata->local->sta_generation; in sta_set_sinfo()
2269 sinfo->rx_beacon = sdata->u.mgd.count_beacon_signal; in sta_set_sinfo()
2271 drv_sta_statistics(local, sdata, &sta->sta, sinfo); in sta_set_sinfo()
2272 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_INACTIVE_TIME) | in sta_set_sinfo()
2280 sinfo->beacon_loss_count = sdata->u.mgd.beacon_loss_count; in sta_set_sinfo()
2281 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_BEACON_LOSS); in sta_set_sinfo()
2284 sinfo->connected_time = ktime_get_seconds() - sta->last_connected; in sta_set_sinfo()
2285 sinfo->assoc_at = sta->assoc_at; in sta_set_sinfo()
2286 sinfo->inactive_time = in sta_set_sinfo()
2289 if (!(sinfo->filled & (BIT_ULL(NL80211_STA_INFO_TX_BYTES64) | in sta_set_sinfo()
2291 sinfo->tx_bytes = 0; in sta_set_sinfo()
2293 sinfo->tx_bytes += sta->tx_stats.bytes[ac]; in sta_set_sinfo()
2294 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_BYTES64); in sta_set_sinfo()
2297 if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_TX_PACKETS))) { in sta_set_sinfo()
2298 sinfo->tx_packets = 0; in sta_set_sinfo()
2300 sinfo->tx_packets += sta->tx_stats.packets[ac]; in sta_set_sinfo()
2301 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_PACKETS); in sta_set_sinfo()
2304 if (!(sinfo->filled & (BIT_ULL(NL80211_STA_INFO_RX_BYTES64) | in sta_set_sinfo()
2306 sinfo->rx_bytes += sta_get_stats_bytes(&sta->rx_stats); in sta_set_sinfo()
2313 sinfo->rx_bytes += sta_get_stats_bytes(cpurxs); in sta_set_sinfo()
2317 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_RX_BYTES64); in sta_set_sinfo()
2320 if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_RX_PACKETS))) { in sta_set_sinfo()
2321 sinfo->rx_packets = sta->rx_stats.packets; in sta_set_sinfo()
2327 sinfo->rx_packets += cpurxs->packets; in sta_set_sinfo()
2330 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_RX_PACKETS); in sta_set_sinfo()
2333 if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_TX_RETRIES))) { in sta_set_sinfo()
2334 sinfo->tx_retries = sta->status_stats.retry_count; in sta_set_sinfo()
2335 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_RETRIES); in sta_set_sinfo()
2338 if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_TX_FAILED))) { in sta_set_sinfo()
2339 sinfo->tx_failed = sta->status_stats.retry_failed; in sta_set_sinfo()
2340 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_FAILED); in sta_set_sinfo()
2343 if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_RX_DURATION))) { in sta_set_sinfo()
2345 sinfo->rx_duration += sta->airtime[ac].rx_airtime; in sta_set_sinfo()
2346 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_RX_DURATION); in sta_set_sinfo()
2349 if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_TX_DURATION))) { in sta_set_sinfo()
2351 sinfo->tx_duration += sta->airtime[ac].tx_airtime; in sta_set_sinfo()
2352 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_DURATION); in sta_set_sinfo()
2355 if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_AIRTIME_WEIGHT))) { in sta_set_sinfo()
2356 sinfo->airtime_weight = sta->airtime_weight; in sta_set_sinfo()
2357 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_AIRTIME_WEIGHT); in sta_set_sinfo()
2360 sinfo->rx_dropped_misc = sta->rx_stats.dropped; in sta_set_sinfo()
2366 sinfo->rx_dropped_misc += cpurxs->dropped; in sta_set_sinfo()
2372 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_BEACON_RX) | in sta_set_sinfo()
2374 sinfo->rx_beacon_signal_avg = ieee80211_ave_rssi(&sdata->vif); in sta_set_sinfo()
2379 if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_SIGNAL))) { in sta_set_sinfo()
2380 sinfo->signal = (s8)last_rxstats->last_signal; in sta_set_sinfo()
2381 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_SIGNAL); in sta_set_sinfo()
2385 !(sinfo->filled & BIT_ULL(NL80211_STA_INFO_SIGNAL_AVG))) { in sta_set_sinfo()
2386 sinfo->signal_avg = in sta_set_sinfo()
2388 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_SIGNAL_AVG); in sta_set_sinfo()
2397 !(sinfo->filled & (BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL) | in sta_set_sinfo()
2399 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL); in sta_set_sinfo()
2401 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL_AVG); in sta_set_sinfo()
2403 sinfo->chains = last_rxstats->chains; in sta_set_sinfo()
2405 for (i = 0; i < ARRAY_SIZE(sinfo->chain_signal); i++) { in sta_set_sinfo()
2406 sinfo->chain_signal[i] = in sta_set_sinfo()
2408 sinfo->chain_signal_avg[i] = in sta_set_sinfo()
2413 if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_TX_BITRATE))) { in sta_set_sinfo()
2415 &sinfo->txrate); in sta_set_sinfo()
2416 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_BITRATE); in sta_set_sinfo()
2419 if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_RX_BITRATE))) { in sta_set_sinfo()
2420 if (sta_set_rate_info_rx(sta, &sinfo->rxrate) == 0) in sta_set_sinfo()
2421 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_RX_BITRATE); in sta_set_sinfo()
2424 if (tidstats && !cfg80211_sinfo_alloc_tid_stats(sinfo, GFP_KERNEL)) { in sta_set_sinfo()
2426 sta_set_tidstats(sta, &sinfo->pertid[i], i); in sta_set_sinfo()
2431 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_LLID) | in sta_set_sinfo()
2440 sinfo->llid = sta->mesh->llid; in sta_set_sinfo()
2441 sinfo->plid = sta->mesh->plid; in sta_set_sinfo()
2442 sinfo->plink_state = sta->mesh->plink_state; in sta_set_sinfo()
2444 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_T_OFFSET); in sta_set_sinfo()
2445 sinfo->t_offset = sta->mesh->t_offset; in sta_set_sinfo()
2447 sinfo->local_pm = sta->mesh->local_pm; in sta_set_sinfo()
2448 sinfo->peer_pm = sta->mesh->peer_pm; in sta_set_sinfo()
2449 sinfo->nonpeer_pm = sta->mesh->nonpeer_pm; in sta_set_sinfo()
2450 sinfo->connected_to_gate = sta->mesh->connected_to_gate; in sta_set_sinfo()
2451 sinfo->connected_to_as = sta->mesh->connected_to_as; in sta_set_sinfo()
2455 sinfo->bss_param.flags = 0; in sta_set_sinfo()
2457 sinfo->bss_param.flags |= BSS_PARAM_FLAGS_CTS_PROT; in sta_set_sinfo()
2459 sinfo->bss_param.flags |= BSS_PARAM_FLAGS_SHORT_PREAMBLE; in sta_set_sinfo()
2461 sinfo->bss_param.flags |= BSS_PARAM_FLAGS_SHORT_SLOT_TIME; in sta_set_sinfo()
2462 sinfo->bss_param.dtim_period = sdata->vif.bss_conf.dtim_period; in sta_set_sinfo()
2463 sinfo->bss_param.beacon_interval = sdata->vif.bss_conf.beacon_int; in sta_set_sinfo()
2465 sinfo->sta_flags.set = 0; in sta_set_sinfo()
2466 sinfo->sta_flags.mask = BIT(NL80211_STA_FLAG_AUTHORIZED) | in sta_set_sinfo()
2474 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_AUTHORIZED); in sta_set_sinfo()
2476 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_SHORT_PREAMBLE); in sta_set_sinfo()
2478 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_WME); in sta_set_sinfo()
2480 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_MFP); in sta_set_sinfo()
2482 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_AUTHENTICATED); in sta_set_sinfo()
2484 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_ASSOCIATED); in sta_set_sinfo()
2486 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_TDLS_PEER); in sta_set_sinfo()
2491 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_EXPECTED_THROUGHPUT); in sta_set_sinfo()
2492 sinfo->expected_throughput = thr; in sta_set_sinfo()
2495 if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_ACK_SIGNAL)) && in sta_set_sinfo()
2497 sinfo->ack_signal = sta->status_stats.last_ack_signal; in sta_set_sinfo()
2498 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_ACK_SIGNAL); in sta_set_sinfo()
2501 if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_ACK_SIGNAL_AVG)) && in sta_set_sinfo()
2503 sinfo->avg_ack_signal = in sta_set_sinfo()
2506 sinfo->filled |= in sta_set_sinfo()
2511 sinfo->filled |= BIT_ULL(NL80211_STA_INFO_AIRTIME_LINK_METRIC); in sta_set_sinfo()
2512 sinfo->airtime_link_metric = in sta_set_sinfo()