Lines Matching refs:stations
45 if (!(priv->stations[sta_id].used & IWL_STA_DRIVER_ACTIVE)) in iwl_sta_ucode_activate()
48 sta_id, priv->stations[sta_id].sta.sta.addr); in iwl_sta_ucode_activate()
50 if (priv->stations[sta_id].used & IWL_STA_UCODE_ACTIVE) { in iwl_sta_ucode_activate()
54 sta_id, priv->stations[sta_id].sta.sta.addr); in iwl_sta_ucode_activate()
56 priv->stations[sta_id].used |= IWL_STA_UCODE_ACTIVE; in iwl_sta_ucode_activate()
58 sta_id, priv->stations[sta_id].sta.sta.addr); in iwl_sta_ucode_activate()
226 priv->stations[sta_id].sta.station_flags &= ~mask; in iwl_sta_update_ht()
227 priv->stations[sta_id].sta.station_flags |= flags; in iwl_sta_update_ht()
248 priv->stations[index].sta.station_flags &= ~mask; in iwl_set_ht_add_station()
249 priv->stations[index].sta.station_flags |= flags; in iwl_set_ht_add_station()
270 if (ether_addr_equal(priv->stations[i].sta.sta.addr, in iwl_prep_station()
276 if (!priv->stations[i].used && in iwl_prep_station()
293 if (priv->stations[sta_id].used & IWL_STA_UCODE_INPROGRESS) { in iwl_prep_station()
299 if ((priv->stations[sta_id].used & IWL_STA_DRIVER_ACTIVE) && in iwl_prep_station()
300 (priv->stations[sta_id].used & IWL_STA_UCODE_ACTIVE) && in iwl_prep_station()
301 ether_addr_equal(priv->stations[sta_id].sta.sta.addr, addr)) { in iwl_prep_station()
307 station = &priv->stations[sta_id]; in iwl_prep_station()
367 if (priv->stations[sta_id].used & IWL_STA_UCODE_INPROGRESS) { in iwl_add_station_common()
374 if ((priv->stations[sta_id].used & IWL_STA_DRIVER_ACTIVE) && in iwl_add_station_common()
375 (priv->stations[sta_id].used & IWL_STA_UCODE_ACTIVE)) { in iwl_add_station_common()
382 priv->stations[sta_id].used |= IWL_STA_UCODE_INPROGRESS; in iwl_add_station_common()
383 memcpy(&sta_cmd, &priv->stations[sta_id].sta, in iwl_add_station_common()
392 priv->stations[sta_id].sta.sta.addr); in iwl_add_station_common()
393 priv->stations[sta_id].used &= ~IWL_STA_DRIVER_ACTIVE; in iwl_add_station_common()
394 priv->stations[sta_id].used &= ~IWL_STA_UCODE_INPROGRESS; in iwl_add_station_common()
409 if ((priv->stations[sta_id].used & in iwl_sta_ucode_deactivate()
414 priv->stations[sta_id].used &= ~IWL_STA_UCODE_ACTIVE; in iwl_sta_ucode_deactivate()
416 memset(&priv->stations[sta_id], 0, sizeof(struct iwl_station_entry)); in iwl_sta_ucode_deactivate()
497 if (!(priv->stations[sta_id].used & IWL_STA_DRIVER_ACTIVE)) { in iwl_remove_station()
503 if (!(priv->stations[sta_id].used & IWL_STA_UCODE_ACTIVE)) { in iwl_remove_station()
509 if (priv->stations[sta_id].used & IWL_STA_LOCAL) { in iwl_remove_station()
510 kfree(priv->stations[sta_id].lq); in iwl_remove_station()
511 priv->stations[sta_id].lq = NULL; in iwl_remove_station()
518 priv->stations[sta_id].used &= ~IWL_STA_DRIVER_ACTIVE; in iwl_remove_station()
552 WARN_ON_ONCE(!(priv->stations[sta_id].used & IWL_STA_DRIVER_ACTIVE)); in iwl_deactivate_station()
558 priv->stations[sta_id].used &= ~IWL_STA_DRIVER_ACTIVE; in iwl_deactivate_station()
559 priv->stations[sta_id].used &= ~IWL_STA_UCODE_INPROGRESS; in iwl_deactivate_station()
637 if (ctx && ctx->ctxid != priv->stations[i].ctxid) in iwl_clear_ucode_stations()
640 if (priv->stations[i].used & IWL_STA_UCODE_ACTIVE) { in iwl_clear_ucode_stations()
643 priv->stations[i].used &= ~IWL_STA_UCODE_ACTIVE; in iwl_clear_ucode_stations()
681 if (ctx->ctxid != priv->stations[i].ctxid) in iwl_restore_stations()
683 if ((priv->stations[i].used & IWL_STA_DRIVER_ACTIVE) && in iwl_restore_stations()
684 !(priv->stations[i].used & IWL_STA_UCODE_ACTIVE)) { in iwl_restore_stations()
686 priv->stations[i].sta.sta.addr); in iwl_restore_stations()
687 priv->stations[i].sta.mode = 0; in iwl_restore_stations()
688 priv->stations[i].used |= IWL_STA_UCODE_INPROGRESS; in iwl_restore_stations()
694 if ((priv->stations[i].used & IWL_STA_UCODE_INPROGRESS)) { in iwl_restore_stations()
695 memcpy(&sta_cmd, &priv->stations[i].sta, in iwl_restore_stations()
698 if (priv->stations[i].lq) { in iwl_restore_stations()
702 memcpy(&lq, priv->stations[i].lq, in iwl_restore_stations()
713 priv->stations[i].sta.sta.addr); in iwl_restore_stations()
714 priv->stations[i].used &= in iwl_restore_stations()
716 priv->stations[i].used &= in iwl_restore_stations()
727 priv->stations[i].used &= ~IWL_STA_UCODE_INPROGRESS; in iwl_restore_stations()
757 if (!(priv->stations[i].used & IWL_STA_BCAST)) in iwl_dealloc_bcast_stations()
760 priv->stations[i].used &= ~IWL_STA_UCODE_ACTIVE; in iwl_dealloc_bcast_stations()
764 kfree(priv->stations[i].lq); in iwl_dealloc_bcast_stations()
765 priv->stations[i].lq = NULL; in iwl_dealloc_bcast_stations()
851 if (!(priv->stations[lq->sta_id].used & IWL_STA_DRIVER_ACTIVE)) { in iwl_send_lq_cmd()
874 priv->stations[lq->sta_id].used &= ~IWL_STA_UCODE_INPROGRESS; in iwl_send_lq_cmd()
924 priv->stations[sta_id].used |= IWL_STA_LOCAL; in iwlagn_add_bssid_station()
941 priv->stations[sta_id].lq = link_cmd; in iwlagn_add_bssid_station()
1107 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(sta_cmd)); in iwlagn_send_sta_key()
1184 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(sta_cmd)); in iwl_remove_dynamic_key()
1185 if (!(priv->stations[sta_id].used & IWL_STA_UCODE_ACTIVE)) in iwl_remove_dynamic_key()
1298 priv->stations[sta_id].used |= IWL_STA_DRIVER_ACTIVE; in iwlagn_alloc_bcast_station()
1299 priv->stations[sta_id].used |= IWL_STA_BCAST; in iwlagn_alloc_bcast_station()
1310 priv->stations[sta_id].lq = link_cmd; in iwlagn_alloc_bcast_station()
1335 if (priv->stations[sta_id].lq) in iwl_update_bcast_station()
1336 kfree(priv->stations[sta_id].lq); in iwl_update_bcast_station()
1339 priv->stations[sta_id].lq = link_cmd; in iwl_update_bcast_station()
1370 priv->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_TID_DISABLE_TX; in iwl_sta_tx_modify_enable_tid()
1371 priv->stations[sta_id].sta.tid_disable_tx &= cpu_to_le16(~(1 << tid)); in iwl_sta_tx_modify_enable_tid()
1372 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in iwl_sta_tx_modify_enable_tid()
1373 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd)); in iwl_sta_tx_modify_enable_tid()
1392 priv->stations[sta_id].sta.station_flags_msk = 0; in iwl_sta_rx_agg_start()
1393 priv->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_ADDBA_TID_MSK; in iwl_sta_rx_agg_start()
1394 priv->stations[sta_id].sta.add_immediate_ba_tid = (u8)tid; in iwl_sta_rx_agg_start()
1395 priv->stations[sta_id].sta.add_immediate_ba_ssn = cpu_to_le16(ssn); in iwl_sta_rx_agg_start()
1396 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in iwl_sta_rx_agg_start()
1397 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd)); in iwl_sta_rx_agg_start()
1418 priv->stations[sta_id].sta.station_flags_msk = 0; in iwl_sta_rx_agg_stop()
1419 priv->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_DELBA_TID_MSK; in iwl_sta_rx_agg_stop()
1420 priv->stations[sta_id].sta.remove_immediate_ba_tid = (u8)tid; in iwl_sta_rx_agg_stop()
1421 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in iwl_sta_rx_agg_stop()
1422 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd)); in iwl_sta_rx_agg_stop()