Lines Matching refs:peer

328 	struct ath10k_peer *peer;
341 peer = ath10k_peer_find(ar, arvif->vdev_id, addr);
344 if (!peer)
381 peer->keys[i] = arvif->wep_keys[i];
416 struct ath10k_peer *peer;
425 peer = ath10k_peer_find(ar, arvif->vdev_id, addr);
428 if (!peer)
431 for (i = 0; i < ARRAY_SIZE(peer->keys); i++) {
432 if (peer->keys[i] == NULL)
436 ret = ath10k_install_key(arvif, peer->keys[i],
442 ath10k_warn(ar, "failed to remove peer wep key %d: %d\n",
446 peer->keys[i] = NULL;
456 struct ath10k_peer *peer;
461 /* We don't know which vdev this peer belongs to,
466 peer = ath10k_peer_find(ar, 0, addr);
467 if (!peer)
470 for (i = 0; i < ARRAY_SIZE(peer->keys); i++) {
471 if (peer->keys[i] && peer->keys[i]->keyidx == keyidx)
482 struct ath10k_peer *peer;
497 list_for_each_entry(peer, &ar->peers, list) {
498 for (i = 0; i < ARRAY_SIZE(peer->keys); i++) {
499 if (peer->keys[i] == key) {
500 ether_addr_copy(addr, peer->addr);
501 peer->keys[i] = NULL;
506 if (i < ARRAY_SIZE(peer->keys))
511 if (i == ARRAY_SIZE(peer->keys))
530 struct ath10k_peer *peer;
535 list_for_each_entry(peer, &ar->peers, list) {
536 if (ether_addr_equal(peer->addr, arvif->vif->addr))
539 if (ether_addr_equal(peer->addr, arvif->bssid))
542 if (peer->keys[key->keyidx] == key)
548 ret = ath10k_install_peer_wep_keys(arvif, peer->addr);
550 ath10k_warn(ar, "failed to update wep keys on vdev %i for peer %pM: %d\n",
551 arvif->vdev_id, peer->addr, ret);
714 ath10k_warn(ar, "failed wait for peer deleted");
721 ath10k_warn(ar, "Timeout in receiving peer delete response\n");
732 struct ath10k_peer *peer;
737 /* Each vdev consumes a peer entry as well. */
743 ath10k_warn(ar, "failed to create wmi peer %pM on vdev %i: %i\n",
750 ath10k_warn(ar, "failed to wait for created wmi peer %pM on vdev %i: %i\n",
757 peer = ath10k_peer_find(ar, vdev_id, addr);
758 if (!peer) {
760 ath10k_warn(ar, "failed to find peer %pM on vdev %i after creation\n",
766 peer->vif = vif;
767 peer->sta = sta;
851 ath10k_warn(ar, "Timeout in receiving peer delete response\n");
861 static void ath10k_peer_map_cleanup(struct ath10k *ar, struct ath10k_peer *peer)
867 for_each_set_bit(peer_id, peer->peer_ids,
872 /* Double check that peer is properly un-referenced from
876 if (ar->peer_map[i] == peer) {
878 peer->addr, peer, i);
883 list_del(&peer->list);
884 kfree(peer);
890 struct ath10k_peer *peer, *tmp;
895 list_for_each_entry_safe(peer, tmp, &ar->peers, list) {
896 if (peer->vdev_id != vdev_id)
899 ath10k_warn(ar, "removing stale peer %pM from vdev_id %d\n",
900 peer->addr, vdev_id);
902 ath10k_peer_map_cleanup(ar, peer);
909 struct ath10k_peer *peer, *tmp;
915 list_for_each_entry_safe(peer, tmp, &ar->peers, list) {
916 list_del(&peer->list);
917 kfree(peer);
953 ath10k_warn(ar, "failed to update tdls peer %pM on vdev %i: %i\n",
2396 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac ht peer %pM mcs cnt %d nss %d\n",
2437 ath10k_warn(ar, "failed to set ap ps peer param uapsd for vdev %i: %d\n",
2447 ath10k_warn(ar, "failed to set ap ps peer param max sp for vdev %i: %d\n",
2461 ath10k_warn(ar, "failed to set ap ps peer param ageout time for vdev %i: %d\n",
2598 /* Calculate peer NSS capability from VHT capabilities if STA
2648 "mac vht peer %pM max_mpdu %d flags 0x%x peer_rx_nss_override 0x%x\n",
2682 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac peer %pM qos %d\n",
2784 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac peer %pM phymode %s\n",
3091 ath10k_warn(ar, "failed to prepare peer assoc for %pM vdev %i: %d\n",
3101 ath10k_warn(ar, "failed to run peer assoc for %pM vdev %i: %d\n",
3108 ath10k_warn(ar, "failed to setup peer SMPS for vdev %i: %d\n",
3132 ath10k_warn(ar, "failed to enable peer stats info: %d\n", ret);
3147 * poked with peer param command.
3152 ath10k_warn(ar, "failed to poke peer %pM param for ps workaround on vdev %i: %d\n",
3268 ath10k_warn(ar, "failed to prepare WMI peer assoc for %pM vdev %i: %i\n",
3275 ath10k_warn(ar, "failed to run peer assoc for STA %pM vdev %i: %d\n",
3281 * doesn't make much sense to reconfigure the peer completely.
3287 ath10k_warn(ar, "failed to setup peer SMPS for vdev %d: %d\n",
3313 ath10k_warn(ar, "failed to install peer wep keys for vdev %i: %d\n",
3347 ath10k_warn(ar, "failed to clear all peer wep keys for vdev %i: %d\n",
3751 * NativeWifi txmode - it selects AP key instead of peer key. It seems
3939 * point new firmware stopped requiring creation of peer entries for
4099 struct ath10k_peer *peer;
4113 /* FW requirement: We must create a peer before FW will send out
4115 * never transmitted. We delete the peer upon tx completion.
4116 * It is unlikely that a peer for offchannel tx will already be
4118 * Otherwise we might remove a legitimate peer and break stuff.
4136 peer = ath10k_peer_find(ar, vdev_id, peer_addr);
4139 if (peer) {
4140 ath10k_warn(ar, "peer %pM on vdev %d already present\n",
4147 ath10k_warn(ar, "failed to create peer %pM on vdev %d: %d\n",
4186 if (!peer && tmp_peer_created) {
4189 ath10k_warn(ar, "failed to delete peer %pM on vdev %d: %d\n",
4285 struct ath10k_peer *peer;
4289 peer = ar->peer_map[peer_id];
4290 if (!peer)
4293 if (peer->removed)
4296 if (peer->sta)
4297 return peer->sta->txq[tid];
4298 else if (peer->vif)
4299 return peer->vif->txq;
5307 "failed to set peer stats period : %d\n",
5528 struct ath10k_peer *peer;
5560 ath10k_warn(ar, "refusing vdev creation due to insufficient peer entry resources in firmware\n");
5749 ath10k_warn(ar, "failed to create vdev %i peer for AP/IBSS: %d\n",
5756 peer = ath10k_peer_find(ar, arvif->vdev_id, vif->addr);
5757 if (!peer) {
5758 ath10k_warn(ar, "failed to lookup peer %pM on vdev %i\n",
5765 arvif->peer_id = find_first_bit(peer->peer_ids,
5901 struct ath10k_peer *peer;
5926 ath10k_warn(ar, "failed to submit AP/IBSS self-peer removal on vdev %i: %d\n",
5951 /* Some firmware revisions don't notify host about self-peer removal
5959 ath10k_warn(ar, "failed to remove AP self-peer on vdev %i: %d\n",
5969 peer = ar->peer_map[i];
5970 if (!peer)
5973 if (peer->vif == vif) {
5974 ath10k_warn(ar, "found vif peer %pM entry on vdev %i after it was supposedly removed\n",
5976 peer->vif = NULL;
6530 struct ath10k_peer *peer;
6575 /* the peer should not disappear in mid-way (unless FW goes awry) since
6579 peer = ath10k_peer_find(ar, arvif->vdev_id, peer_addr);
6582 if (!peer) {
6584 ath10k_warn(ar, "failed to install key for non-existent peer %pM\n",
6589 /* if the peer doesn't exist there is no key to disable anymore */
6605 * keys. Static WEP needs an explicit per-peer key upload.
6624 ath10k_warn(ar, "failed to install key for vdev %i peer %pM: %d\n",
6640 ath10k_warn(ar, "failed to install (ucast) key for vdev %i peer %pM: %d\n",
6646 ath10k_warn(ar, "failed to disable (mcast) key for vdev %i peer %pM: %d\n",
6656 peer = ath10k_peer_find(ar, arvif->vdev_id, peer_addr);
6657 if (peer && cmd == SET_KEY)
6658 peer->keys[key->keyidx] = key;
6659 else if (peer && cmd == DISABLE_KEY)
6660 peer->keys[key->keyidx] = NULL;
6661 else if (peer == NULL)
6758 ath10k_dbg(ar, ATH10K_DBG_STA, "mac update sta %pM peer bw %d phymode %d\n",
6764 ath10k_warn(ar, "failed to update STA %pM peer phymode %d: %d\n",
6772 ath10k_warn(ar, "failed to update STA %pM peer bw %d: %d\n",
7465 struct ath10k_peer *peer;
7499 "mac vdev %d peer create %pM (new sta) sta %d / %d peer %d / %d\n",
7537 ath10k_warn(ar, "failed to add peer %pM for vdev %d when adding a new sta: %i\n",
7546 peer = ath10k_peer_find(ar, arvif->vdev_id, sta->addr);
7547 if (!peer) {
7548 ath10k_warn(ar, "failed to lookup peer %pM on vdev %i\n",
7558 arsta->peer_id = find_first_bit(peer->peer_ids,
7582 "failed to update tdls peer %pM for vdev %d when adding a new sta: %i\n",
7599 "mac vdev %d peer delete %pM sta %pK (sta gone)\n",
7607 ath10k_warn(ar, "failed to update tdls peer state for %pM state %d: %i\n",
7614 ath10k_warn(ar, "failed to delete peer %pM for vdev %d: %i\n",
7621 peer = ar->peer_map[i];
7622 if (!peer)
7625 if (peer->sta == sta) {
7626 ath10k_warn(ar, "found sta peer %pM (ptr %pK id %d) entry on vdev %i after it was supposedly removed\n",
7627 sta->addr, peer, i, arvif->vdev_id);
7628 peer->sta = NULL;
7630 /* Clean up the peer object as well since we
7633 ath10k_peer_map_cleanup(ar, peer);
7652 /* This was the last tdls peer in current vif */
7693 ath10k_warn(ar, "failed to update tdls peer %pM for vdev %i: %i\n",
8351 ath10k_warn(ar, "failed to enable STA %pM peer fixed rate: %d\n",
8393 ath10k_warn(ar, "failed to clear STA %pM peer fixed rate: %d\n",
8466 /* Reach here, firmware supports peer fixed rate and has
8468 * the rate only for specific peer.
8515 struct ath10k_peer *peer;
8520 peer = ath10k_peer_find(ar, arvif->vdev_id, sta->addr);
8521 if (!peer) {
8523 ath10k_warn(ar, "mac sta rc update failed to find peer %pM on vdev %i\n",
8670 * on a linked list now. Doing a lookup peer -> vif -> chanctx for each
9076 struct ath10k_peer *peer;
9080 list_for_each_entry(peer, &ar->peers, list)
9081 if (peer->sta == sta)
9082 peer->removed = true;
9257 struct ath10k_peer *peer;
9266 peer = ath10k_peer_find(ar, arsta->arvif->vdev_id, sta->addr);
9268 if (!peer)
9279 ath10k_warn(ar, "could not request peer stats info: %d\n", ret);
9285 ath10k_warn(ar, "timed out waiting peer stats info\n");
10163 ar->hw->wiphy->tid_config_support.peer =