Lines Matching refs:peer
327 struct ath10k_peer *peer;
340 peer = ath10k_peer_find(ar, arvif->vdev_id, addr);
343 if (!peer)
380 peer->keys[i] = arvif->wep_keys[i];
415 struct ath10k_peer *peer;
424 peer = ath10k_peer_find(ar, arvif->vdev_id, addr);
427 if (!peer)
430 for (i = 0; i < ARRAY_SIZE(peer->keys); i++) {
431 if (peer->keys[i] == NULL)
435 ret = ath10k_install_key(arvif, peer->keys[i],
441 ath10k_warn(ar, "failed to remove peer wep key %d: %d\n",
445 peer->keys[i] = NULL;
455 struct ath10k_peer *peer;
460 /* We don't know which vdev this peer belongs to,
465 peer = ath10k_peer_find(ar, 0, addr);
466 if (!peer)
469 for (i = 0; i < ARRAY_SIZE(peer->keys); i++) {
470 if (peer->keys[i] && peer->keys[i]->keyidx == keyidx)
481 struct ath10k_peer *peer;
496 list_for_each_entry(peer, &ar->peers, list) {
497 for (i = 0; i < ARRAY_SIZE(peer->keys); i++) {
498 if (peer->keys[i] == key) {
499 ether_addr_copy(addr, peer->addr);
500 peer->keys[i] = NULL;
505 if (i < ARRAY_SIZE(peer->keys))
510 if (i == ARRAY_SIZE(peer->keys))
529 struct ath10k_peer *peer;
534 list_for_each_entry(peer, &ar->peers, list) {
535 if (ether_addr_equal(peer->addr, arvif->vif->addr))
538 if (ether_addr_equal(peer->addr, arvif->bssid))
541 if (peer->keys[key->keyidx] == key)
547 ret = ath10k_install_peer_wep_keys(arvif, peer->addr);
549 ath10k_warn(ar, "failed to update wep keys on vdev %i for peer %pM: %d\n",
550 arvif->vdev_id, peer->addr, ret);
713 ath10k_warn(ar, "failed wait for peer deleted");
720 ath10k_warn(ar, "Timeout in receiving peer delete response\n");
732 struct ath10k_peer *peer;
740 /* Each vdev consumes a peer entry as well */
749 ath10k_warn(ar, "failed to create wmi peer %pM on vdev %i: %i\n",
756 ath10k_warn(ar, "failed to wait for created wmi peer %pM on vdev %i: %i\n",
763 peer = ath10k_peer_find(ar, vdev_id, addr);
764 if (!peer) {
766 ath10k_warn(ar, "failed to find peer %pM on vdev %i after creation\n",
772 peer->vif = vif;
773 peer->sta = sta;
857 ath10k_warn(ar, "Timeout in receiving peer delete response\n");
867 static void ath10k_peer_map_cleanup(struct ath10k *ar, struct ath10k_peer *peer)
873 for_each_set_bit(peer_id, peer->peer_ids,
878 /* Double check that peer is properly un-referenced from
882 if (ar->peer_map[i] == peer) {
884 peer->addr, peer, i);
889 list_del(&peer->list);
890 kfree(peer);
896 struct ath10k_peer *peer, *tmp;
901 list_for_each_entry_safe(peer, tmp, &ar->peers, list) {
902 if (peer->vdev_id != vdev_id)
905 ath10k_warn(ar, "removing stale peer %pM from vdev_id %d\n",
906 peer->addr, vdev_id);
908 ath10k_peer_map_cleanup(ar, peer);
915 struct ath10k_peer *peer, *tmp;
921 list_for_each_entry_safe(peer, tmp, &ar->peers, list) {
922 list_del(&peer->list);
923 kfree(peer);
959 ath10k_warn(ar, "failed to update tdls peer %pM on vdev %i: %i\n",
2402 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac ht peer %pM mcs cnt %d nss %d\n",
2443 ath10k_warn(ar, "failed to set ap ps peer param uapsd for vdev %i: %d\n",
2453 ath10k_warn(ar, "failed to set ap ps peer param max sp for vdev %i: %d\n",
2467 ath10k_warn(ar, "failed to set ap ps peer param ageout time for vdev %i: %d\n",
2604 /* Calculate peer NSS capability from VHT capabilities if STA
2654 "mac vht peer %pM max_mpdu %d flags 0x%x peer_rx_nss_override 0x%x\n",
2688 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac peer %pM qos %d\n",
2790 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac peer %pM phymode %s\n",
3097 ath10k_warn(ar, "failed to prepare peer assoc for %pM vdev %i: %d\n",
3107 ath10k_warn(ar, "failed to run peer assoc for %pM vdev %i: %d\n",
3114 ath10k_warn(ar, "failed to setup peer SMPS for vdev %i: %d\n",
3138 ath10k_warn(ar, "failed to enable peer stats info: %d\n", ret);
3153 * poked with peer param command.
3158 ath10k_warn(ar, "failed to poke peer %pM param for ps workaround on vdev %i: %d\n",
3274 ath10k_warn(ar, "failed to prepare WMI peer assoc for %pM vdev %i: %i\n",
3281 ath10k_warn(ar, "failed to run peer assoc for STA %pM vdev %i: %d\n",
3287 * doesn't make much sense to reconfigure the peer completely.
3293 ath10k_warn(ar, "failed to setup peer SMPS for vdev %d: %d\n",
3319 ath10k_warn(ar, "failed to install peer wep keys for vdev %i: %d\n",
3353 ath10k_warn(ar, "failed to clear all peer wep keys for vdev %i: %d\n",
3757 * NativeWifi txmode - it selects AP key instead of peer key. It seems
3945 * point new firmware stopped requiring creation of peer entries for
4105 struct ath10k_peer *peer;
4119 /* FW requirement: We must create a peer before FW will send out
4121 * never transmitted. We delete the peer upon tx completion.
4122 * It is unlikely that a peer for offchannel tx will already be
4124 * Otherwise we might remove a legitimate peer and break stuff.
4142 peer = ath10k_peer_find(ar, vdev_id, peer_addr);
4145 if (peer) {
4146 ath10k_warn(ar, "peer %pM on vdev %d already present\n",
4153 ath10k_warn(ar, "failed to create peer %pM on vdev %d: %d\n",
4192 if (!peer && tmp_peer_created) {
4195 ath10k_warn(ar, "failed to delete peer %pM on vdev %d: %d\n",
4291 struct ath10k_peer *peer;
4295 peer = ar->peer_map[peer_id];
4296 if (!peer)
4299 if (peer->removed)
4302 if (peer->sta)
4303 return peer->sta->txq[tid];
4304 else if (peer->vif)
4305 return peer->vif->txq;
5310 "failed to set peer stats period : %d\n",
5531 struct ath10k_peer *peer;
5563 ath10k_warn(ar, "refusing vdev creation due to insufficient peer entry resources in firmware\n");
5752 ath10k_warn(ar, "failed to create vdev %i peer for AP/IBSS: %d\n",
5759 peer = ath10k_peer_find(ar, arvif->vdev_id, vif->addr);
5760 if (!peer) {
5761 ath10k_warn(ar, "failed to lookup peer %pM on vdev %i\n",
5768 arvif->peer_id = find_first_bit(peer->peer_ids,
5904 struct ath10k_peer *peer;
5929 ath10k_warn(ar, "failed to submit AP/IBSS self-peer removal on vdev %i: %d\n",
5954 /* Some firmware revisions don't notify host about self-peer removal
5962 ath10k_warn(ar, "failed to remove AP self-peer on vdev %i: %d\n",
5972 peer = ar->peer_map[i];
5973 if (!peer)
5976 if (peer->vif == vif) {
5977 ath10k_warn(ar, "found vif peer %pM entry on vdev %i after it was supposedly removed\n",
5979 peer->vif = NULL;
6529 struct ath10k_peer *peer;
6574 /* the peer should not disappear in mid-way (unless FW goes awry) since
6578 peer = ath10k_peer_find(ar, arvif->vdev_id, peer_addr);
6581 if (!peer) {
6583 ath10k_warn(ar, "failed to install key for non-existent peer %pM\n",
6588 /* if the peer doesn't exist there is no key to disable anymore */
6604 * keys. Static WEP needs an explicit per-peer key upload.
6623 ath10k_warn(ar, "failed to install key for vdev %i peer %pM: %d\n",
6639 ath10k_warn(ar, "failed to install (ucast) key for vdev %i peer %pM: %d\n",
6645 ath10k_warn(ar, "failed to disable (mcast) key for vdev %i peer %pM: %d\n",
6655 peer = ath10k_peer_find(ar, arvif->vdev_id, peer_addr);
6656 if (peer && cmd == SET_KEY)
6657 peer->keys[key->keyidx] = key;
6658 else if (peer && cmd == DISABLE_KEY)
6659 peer->keys[key->keyidx] = NULL;
6660 else if (peer == NULL)
6757 ath10k_dbg(ar, ATH10K_DBG_STA, "mac update sta %pM peer bw %d phymode %d\n",
6763 ath10k_warn(ar, "failed to update STA %pM peer phymode %d: %d\n",
6771 ath10k_warn(ar, "failed to update STA %pM peer bw %d: %d\n",
7464 struct ath10k_peer *peer;
7498 "mac vdev %d peer create %pM (new sta) sta %d / %d peer %d / %d\n",
7536 ath10k_warn(ar, "failed to add peer %pM for vdev %d when adding a new sta: %i\n",
7545 peer = ath10k_peer_find(ar, arvif->vdev_id, sta->addr);
7546 if (!peer) {
7547 ath10k_warn(ar, "failed to lookup peer %pM on vdev %i\n",
7557 arsta->peer_id = find_first_bit(peer->peer_ids,
7581 "failed to update tdls peer %pM for vdev %d when adding a new sta: %i\n",
7598 "mac vdev %d peer delete %pM sta %pK (sta gone)\n",
7606 ath10k_warn(ar, "failed to update tdls peer state for %pM state %d: %i\n",
7613 ath10k_warn(ar, "failed to delete peer %pM for vdev %d: %i\n",
7620 peer = ar->peer_map[i];
7621 if (!peer)
7624 if (peer->sta == sta) {
7625 ath10k_warn(ar, "found sta peer %pM (ptr %pK id %d) entry on vdev %i after it was supposedly removed\n",
7626 sta->addr, peer, i, arvif->vdev_id);
7627 peer->sta = NULL;
7629 /* Clean up the peer object as well since we
7632 ath10k_peer_map_cleanup(ar, peer);
7651 /* This was the last tdls peer in current vif */
7692 ath10k_warn(ar, "failed to update tdls peer %pM for vdev %i: %i\n",
8350 ath10k_warn(ar, "failed to enable STA %pM peer fixed rate: %d\n",
8392 ath10k_warn(ar, "failed to clear STA %pM peer fixed rate: %d\n",
8465 /* Reach here, firmware supports peer fixed rate and has
8467 * the rate only for specific peer.
8514 struct ath10k_peer *peer;
8519 peer = ath10k_peer_find(ar, arvif->vdev_id, sta->addr);
8520 if (!peer) {
8522 ath10k_warn(ar, "mac sta rc update failed to find peer %pM on vdev %i\n",
8669 * on a linked list now. Doing a lookup peer -> vif -> chanctx for each
9075 struct ath10k_peer *peer;
9079 list_for_each_entry(peer, &ar->peers, list)
9080 if (peer->sta == sta)
9081 peer->removed = true;
9256 struct ath10k_peer *peer;
9265 peer = ath10k_peer_find(ar, arsta->arvif->vdev_id, sta->addr);
9267 if (!peer)
9278 ath10k_warn(ar, "could not request peer stats info: %d\n", ret);
9284 ath10k_warn(ar, "timed out waiting peer stats info\n");
10158 ar->hw->wiphy->tid_config_support.peer =