Lines Matching refs:sta_id
931 scan->tx_cmd.sta_id = il->hw_params.bcast_id; in il4965_request_scan()
1052 il4965_free_tfds_in_queue(struct il_priv *il, int sta_id, int tid, int freed) in il4965_free_tfds_in_queue() argument
1056 if (il->stations[sta_id].tid[tid].tfds_in_queue >= freed) in il4965_free_tfds_in_queue()
1057 il->stations[sta_id].tid[tid].tfds_in_queue -= freed; in il4965_free_tfds_in_queue()
1060 il->stations[sta_id].tid[tid].tfds_in_queue, freed); in il4965_free_tfds_in_queue()
1061 il->stations[sta_id].tid[tid].tfds_in_queue = 0; in il4965_free_tfds_in_queue()
1508 tx_cmd->sta_id = std_id; in il4965_tx_cmd_build_basic()
1600 int sta_id) in il4965_tx_cmd_build_hwcrypto() argument
1663 u8 sta_id; in il4965_tx_skb() local
1691 sta_id = il->hw_params.bcast_id; in il4965_tx_skb()
1694 sta_id = il_sta_id_or_broadcast(il, sta); in il4965_tx_skb()
1696 if (sta_id == IL_INVALID_STATION) { in il4965_tx_skb()
1702 D_TX("station Id %d\n", sta_id); in il4965_tx_skb()
1718 il4965_sta_modify_sleep_tx_count(il, sta_id, 1); in il4965_tx_skb()
1737 seq_number = il->stations[sta_id].tid[tid].seq_number; in il4965_tx_skb()
1745 il->stations[sta_id].tid[tid].agg.state == IL_AGG_ON) { in il4965_tx_skb()
1746 txq_id = il->stations[sta_id].tid[tid].agg.txq_id; in il4965_tx_skb()
1760 il->stations[sta_id].tid[tid].tfds_in_queue++; in il4965_tx_skb()
1762 il->stations[sta_id].tid[tid].seq_number = seq_number; in il4965_tx_skb()
1794 il4965_tx_cmd_build_hwcrypto(il, info, tx_cmd, skb, sta_id); in il4965_tx_skb()
1797 il4965_tx_cmd_build_basic(il, skb, tx_cmd, info, hdr, sta_id); in il4965_tx_skb()
2147 il4965_txq_agg_enable(struct il_priv *il, int txq_id, int tx_fifo, int sta_id, in il4965_txq_agg_enable() argument
2164 ra_tid = BUILD_RAxTID(sta_id, tid); in il4965_txq_agg_enable()
2167 ret = il4965_sta_tx_modify_enable_tid(il, sta_id, tid); in il4965_txq_agg_enable()
2216 int sta_id; in il4965_tx_agg_start() local
2230 sta_id = il_sta_id(sta); in il4965_tx_agg_start()
2231 if (sta_id == IL_INVALID_STATION) { in il4965_tx_agg_start()
2238 if (il->stations[sta_id].tid[tid].agg.state != IL_AGG_OFF) { in il4965_tx_agg_start()
2250 tid_data = &il->stations[sta_id].tid[tid]; in il4965_tx_agg_start()
2256 ret = il4965_txq_agg_enable(il, txq_id, tx_fifo, sta_id, tid, *ssn); in il4965_tx_agg_start()
2261 tid_data = &il->stations[sta_id].tid[tid]; in il4965_tx_agg_start()
2312 int tx_fifo_id, txq_id, sta_id, ssn; in il4965_tx_agg_stop() local
2322 sta_id = il_sta_id(sta); in il4965_tx_agg_stop()
2324 if (sta_id == IL_INVALID_STATION) { in il4965_tx_agg_stop()
2331 tid_data = &il->stations[sta_id].tid[tid]; in il4965_tx_agg_stop()
2335 switch (il->stations[sta_id].tid[tid].agg.state) { in il4965_tx_agg_stop()
2357 il->stations[sta_id].tid[tid].agg.state = in il4965_tx_agg_stop()
2365 il->stations[sta_id].tid[tid].agg.state = IL_AGG_OFF; in il4965_tx_agg_stop()
2387 il4965_txq_check_empty(struct il_priv *il, int sta_id, u8 tid, int txq_id) in il4965_txq_check_empty() argument
2390 u8 *addr = il->stations[sta_id].sta.sta.addr; in il4965_txq_check_empty()
2391 struct il_tid_data *tid_data = &il->stations[sta_id].tid[tid]; in il4965_txq_check_empty()
2395 switch (il->stations[sta_id].tid[tid].agg.state) { in il4965_txq_check_empty()
2768 int sta_id; in il4965_hdl_tx() local
2792 sta_id = il4965_get_ra_sta_id(il, hdr); in il4965_hdl_tx()
2793 if (txq->sched_retry && unlikely(sta_id == IL_INVALID_STATION)) { in il4965_hdl_tx()
2819 agg = &il->stations[sta_id].tid[tid].agg; in il4965_hdl_tx()
2833 il4965_free_tfds_in_queue(il, sta_id, tid, freed); in il4965_hdl_tx()
2854 if (qc && likely(sta_id != IL_INVALID_STATION)) in il4965_hdl_tx()
2855 il4965_free_tfds_in_queue(il, sta_id, tid, freed); in il4965_hdl_tx()
2856 else if (sta_id == IL_INVALID_STATION) in il4965_hdl_tx()
2864 if (qc && likely(sta_id != IL_INVALID_STATION)) in il4965_hdl_tx()
2865 il4965_txq_check_empty(il, sta_id, tid, txq_id); in il4965_hdl_tx()
2910 int sta_id; in il4965_hdl_compressed_ba() local
2927 sta_id = ba_resp->sta_id; in il4965_hdl_compressed_ba()
2929 agg = &il->stations[sta_id].tid[tid].agg; in il4965_hdl_compressed_ba()
2949 ba_resp->sta_id); in il4965_hdl_compressed_ba()
2966 il4965_free_tfds_in_queue(il, sta_id, tid, freed); in il4965_hdl_compressed_ba()
2973 il4965_txq_check_empty(il, sta_id, tid, scd_flow); in il4965_hdl_compressed_ba()
3020 il4965_sta_alloc_lq(struct il_priv *il, u8 sta_id) in il4965_sta_alloc_lq() argument
3066 link_cmd->sta_id = sta_id; in il4965_sta_alloc_lq()
3080 u8 sta_id; in il4965_add_bssid_station() local
3087 ret = il_add_station_common(il, addr, 0, NULL, &sta_id); in il4965_add_bssid_station()
3094 *sta_id_r = sta_id; in il4965_add_bssid_station()
3097 il->stations[sta_id].used |= IL_STA_LOCAL; in il4965_add_bssid_station()
3101 link_cmd = il4965_sta_alloc_lq(il, sta_id); in il4965_add_bssid_station()
3113 il->stations[sta_id].lq = link_cmd; in il4965_add_bssid_station()
3226 struct ieee80211_key_conf *keyconf, u8 sta_id) in il4965_set_wep_dynamic_key_info() argument
3243 if (sta_id == il->hw_params.bcast_id) in il4965_set_wep_dynamic_key_info()
3248 il->stations[sta_id].keyinfo.cipher = keyconf->cipher; in il4965_set_wep_dynamic_key_info()
3249 il->stations[sta_id].keyinfo.keylen = keyconf->keylen; in il4965_set_wep_dynamic_key_info()
3250 il->stations[sta_id].keyinfo.keyidx = keyconf->keyidx; in il4965_set_wep_dynamic_key_info()
3252 memcpy(il->stations[sta_id].keyinfo.key, keyconf->key, keyconf->keylen); in il4965_set_wep_dynamic_key_info()
3254 memcpy(&il->stations[sta_id].sta.key.key[3], keyconf->key, in il4965_set_wep_dynamic_key_info()
3257 if ((il->stations[sta_id].sta.key. in il4965_set_wep_dynamic_key_info()
3259 il->stations[sta_id].sta.key.key_offset = in il4965_set_wep_dynamic_key_info()
3264 WARN(il->stations[sta_id].sta.key.key_offset == WEP_INVALID_OFFSET, in il4965_set_wep_dynamic_key_info()
3267 il->stations[sta_id].sta.key.key_flags = key_flags; in il4965_set_wep_dynamic_key_info()
3268 il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_KEY_MASK; in il4965_set_wep_dynamic_key_info()
3269 il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in il4965_set_wep_dynamic_key_info()
3271 memcpy(&sta_cmd, &il->stations[sta_id].sta, in il4965_set_wep_dynamic_key_info()
3280 struct ieee80211_key_conf *keyconf, u8 sta_id) in il4965_set_ccmp_dynamic_key_info() argument
3292 if (sta_id == il->hw_params.bcast_id) in il4965_set_ccmp_dynamic_key_info()
3298 il->stations[sta_id].keyinfo.cipher = keyconf->cipher; in il4965_set_ccmp_dynamic_key_info()
3299 il->stations[sta_id].keyinfo.keylen = keyconf->keylen; in il4965_set_ccmp_dynamic_key_info()
3301 memcpy(il->stations[sta_id].keyinfo.key, keyconf->key, keyconf->keylen); in il4965_set_ccmp_dynamic_key_info()
3303 memcpy(il->stations[sta_id].sta.key.key, keyconf->key, keyconf->keylen); in il4965_set_ccmp_dynamic_key_info()
3305 if ((il->stations[sta_id].sta.key. in il4965_set_ccmp_dynamic_key_info()
3307 il->stations[sta_id].sta.key.key_offset = in il4965_set_ccmp_dynamic_key_info()
3312 WARN(il->stations[sta_id].sta.key.key_offset == WEP_INVALID_OFFSET, in il4965_set_ccmp_dynamic_key_info()
3315 il->stations[sta_id].sta.key.key_flags = key_flags; in il4965_set_ccmp_dynamic_key_info()
3316 il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_KEY_MASK; in il4965_set_ccmp_dynamic_key_info()
3317 il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in il4965_set_ccmp_dynamic_key_info()
3319 memcpy(&sta_cmd, &il->stations[sta_id].sta, in il4965_set_ccmp_dynamic_key_info()
3328 struct ieee80211_key_conf *keyconf, u8 sta_id) in il4965_set_tkip_dynamic_key_info() argument
3337 if (sta_id == il->hw_params.bcast_id) in il4965_set_tkip_dynamic_key_info()
3345 il->stations[sta_id].keyinfo.cipher = keyconf->cipher; in il4965_set_tkip_dynamic_key_info()
3346 il->stations[sta_id].keyinfo.keylen = 16; in il4965_set_tkip_dynamic_key_info()
3348 if ((il->stations[sta_id].sta.key. in il4965_set_tkip_dynamic_key_info()
3350 il->stations[sta_id].sta.key.key_offset = in il4965_set_tkip_dynamic_key_info()
3355 WARN(il->stations[sta_id].sta.key.key_offset == WEP_INVALID_OFFSET, in il4965_set_tkip_dynamic_key_info()
3358 il->stations[sta_id].sta.key.key_flags = key_flags; in il4965_set_tkip_dynamic_key_info()
3361 memcpy(il->stations[sta_id].keyinfo.key, keyconf->key, 16); in il4965_set_tkip_dynamic_key_info()
3363 memcpy(il->stations[sta_id].sta.key.key, keyconf->key, 16); in il4965_set_tkip_dynamic_key_info()
3374 u8 sta_id; in il4965_update_tkip_key() local
3384 sta_id = il_sta_id_or_broadcast(il, sta); in il4965_update_tkip_key()
3385 if (sta_id == IL_INVALID_STATION) in il4965_update_tkip_key()
3390 il->stations[sta_id].sta.key.tkip_rx_tsc_byte2 = (u8) iv32; in il4965_update_tkip_key()
3393 il->stations[sta_id].sta.key.tkip_rx_ttak[i] = in il4965_update_tkip_key()
3396 il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_KEY_MASK; in il4965_update_tkip_key()
3397 il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in il4965_update_tkip_key()
3399 il_send_add_sta(il, &il->stations[sta_id].sta, CMD_ASYNC); in il4965_update_tkip_key()
3406 struct ieee80211_key_conf *keyconf, u8 sta_id) in il4965_remove_dynamic_key() argument
3418 key_flags = le16_to_cpu(il->stations[sta_id].sta.key.key_flags); in il4965_remove_dynamic_key()
3421 D_WEP("Remove dynamic key: idx=%d sta=%d\n", keyconf->keyidx, sta_id); in il4965_remove_dynamic_key()
3433 if (il->stations[sta_id].sta.key.key_flags & STA_KEY_FLG_INVALID) { in il4965_remove_dynamic_key()
3441 (il->stations[sta_id].sta.key.key_offset, &il->ucode_key_table)) in il4965_remove_dynamic_key()
3443 il->stations[sta_id].sta.key.key_offset); in il4965_remove_dynamic_key()
3444 memset(&il->stations[sta_id].keyinfo, 0, sizeof(struct il_hw_key)); in il4965_remove_dynamic_key()
3445 memset(&il->stations[sta_id].sta.key, 0, sizeof(struct il4965_keyinfo)); in il4965_remove_dynamic_key()
3446 il->stations[sta_id].sta.key.key_flags = in il4965_remove_dynamic_key()
3448 il->stations[sta_id].sta.key.key_offset = keyconf->hw_key_idx; in il4965_remove_dynamic_key()
3449 il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_KEY_MASK; in il4965_remove_dynamic_key()
3450 il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in il4965_remove_dynamic_key()
3458 memcpy(&sta_cmd, &il->stations[sta_id].sta, in il4965_remove_dynamic_key()
3467 u8 sta_id) in il4965_set_dynamic_key() argument
3479 il4965_set_ccmp_dynamic_key_info(il, keyconf, sta_id); in il4965_set_dynamic_key()
3483 il4965_set_tkip_dynamic_key_info(il, keyconf, sta_id); in il4965_set_dynamic_key()
3487 ret = il4965_set_wep_dynamic_key_info(il, keyconf, sta_id); in il4965_set_dynamic_key()
3496 keyconf->cipher, keyconf->keylen, keyconf->keyidx, sta_id, ret); in il4965_set_dynamic_key()
3513 u8 sta_id; in il4965_alloc_bcast_station() local
3516 sta_id = il_prep_station(il, il_bcast_addr, false, NULL); in il4965_alloc_bcast_station()
3517 if (sta_id == IL_INVALID_STATION) { in il4965_alloc_bcast_station()
3524 il->stations[sta_id].used |= IL_STA_DRIVER_ACTIVE; in il4965_alloc_bcast_station()
3525 il->stations[sta_id].used |= IL_STA_BCAST; in il4965_alloc_bcast_station()
3528 link_cmd = il4965_sta_alloc_lq(il, sta_id); in il4965_alloc_bcast_station()
3536 il->stations[sta_id].lq = link_cmd; in il4965_alloc_bcast_station()
3553 u8 sta_id = il->hw_params.bcast_id; in il4965_update_bcast_station() local
3555 link_cmd = il4965_sta_alloc_lq(il, sta_id); in il4965_update_bcast_station()
3562 if (il->stations[sta_id].lq) in il4965_update_bcast_station()
3563 kfree(il->stations[sta_id].lq); in il4965_update_bcast_station()
3566 il->stations[sta_id].lq = link_cmd; in il4965_update_bcast_station()
3582 il4965_sta_tx_modify_enable_tid(struct il_priv *il, int sta_id, int tid) in il4965_sta_tx_modify_enable_tid() argument
3591 il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_TID_DISABLE_TX; in il4965_sta_tx_modify_enable_tid()
3592 il->stations[sta_id].sta.tid_disable_tx &= cpu_to_le16(~(1 << tid)); in il4965_sta_tx_modify_enable_tid()
3593 il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in il4965_sta_tx_modify_enable_tid()
3594 memcpy(&sta_cmd, &il->stations[sta_id].sta, in il4965_sta_tx_modify_enable_tid()
3606 int sta_id; in il4965_sta_rx_agg_start() local
3611 sta_id = il_sta_id(sta); in il4965_sta_rx_agg_start()
3612 if (sta_id == IL_INVALID_STATION) in il4965_sta_rx_agg_start()
3616 il->stations[sta_id].sta.station_flags_msk = 0; in il4965_sta_rx_agg_start()
3617 il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_ADDBA_TID_MSK; in il4965_sta_rx_agg_start()
3618 il->stations[sta_id].sta.add_immediate_ba_tid = (u8) tid; in il4965_sta_rx_agg_start()
3619 il->stations[sta_id].sta.add_immediate_ba_ssn = cpu_to_le16(ssn); in il4965_sta_rx_agg_start()
3620 il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in il4965_sta_rx_agg_start()
3621 memcpy(&sta_cmd, &il->stations[sta_id].sta, in il4965_sta_rx_agg_start()
3632 int sta_id; in il4965_sta_rx_agg_stop() local
3637 sta_id = il_sta_id(sta); in il4965_sta_rx_agg_stop()
3638 if (sta_id == IL_INVALID_STATION) { in il4965_sta_rx_agg_stop()
3644 il->stations[sta_id].sta.station_flags_msk = 0; in il4965_sta_rx_agg_stop()
3645 il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_DELBA_TID_MSK; in il4965_sta_rx_agg_stop()
3646 il->stations[sta_id].sta.remove_immediate_ba_tid = (u8) tid; in il4965_sta_rx_agg_stop()
3647 il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in il4965_sta_rx_agg_stop()
3648 memcpy(&sta_cmd, &il->stations[sta_id].sta, in il4965_sta_rx_agg_stop()
3656 il4965_sta_modify_sleep_tx_count(struct il_priv *il, int sta_id, int cnt) in il4965_sta_modify_sleep_tx_count() argument
3661 il->stations[sta_id].sta.station_flags |= STA_FLG_PWR_SAVE_MSK; in il4965_sta_modify_sleep_tx_count()
3662 il->stations[sta_id].sta.station_flags_msk = STA_FLG_PWR_SAVE_MSK; in il4965_sta_modify_sleep_tx_count()
3663 il->stations[sta_id].sta.sta.modify_mask = in il4965_sta_modify_sleep_tx_count()
3665 il->stations[sta_id].sta.sleep_tx_count = cpu_to_le16(cnt); in il4965_sta_modify_sleep_tx_count()
3666 il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in il4965_sta_modify_sleep_tx_count()
3667 il_send_add_sta(il, &il->stations[sta_id].sta, CMD_ASYNC); in il4965_sta_modify_sleep_tx_count()
3810 tx_beacon_cmd->tx.sta_id = il->hw_params.bcast_id; in il4965_hw_get_beacon_cmd()
5891 u8 sta_id; in il4965_mac_set_key() local
5911 sta_id = il_sta_id_or_broadcast(il, sta); in il4965_mac_set_key()
5912 if (sta_id == IL_INVALID_STATION) in il4965_mac_set_key()
5938 ret = il4965_set_dynamic_key(il, key, sta_id); in il4965_mac_set_key()
5946 ret = il4965_remove_dynamic_key(il, key, sta_id); in il4965_mac_set_key()
6018 u8 sta_id; in il4965_mac_sta_add() local
6023 sta_priv->common.sta_id = IL_INVALID_STATION; in il4965_mac_sta_add()
6028 il_add_station_common(il, sta->addr, is_ap, sta, &sta_id); in il4965_mac_sta_add()
6036 sta_priv->common.sta_id = sta_id; in il4965_mac_sta_add()
6040 il4965_rs_rate_init(il, sta, sta_id); in il4965_mac_sta_add()