Lines Matching refs:peer
316 struct ath10k_peer *peer;
329 peer = ath10k_peer_find(ar, arvif->vdev_id, addr);
332 if (!peer)
369 peer->keys[i] = arvif->wep_keys[i];
404 struct ath10k_peer *peer;
413 peer = ath10k_peer_find(ar, arvif->vdev_id, addr);
416 if (!peer)
419 for (i = 0; i < ARRAY_SIZE(peer->keys); i++) {
420 if (peer->keys[i] == NULL)
424 ret = ath10k_install_key(arvif, peer->keys[i],
430 ath10k_warn(ar, "failed to remove peer wep key %d: %d\n",
434 peer->keys[i] = NULL;
444 struct ath10k_peer *peer;
449 /* We don't know which vdev this peer belongs to,
454 peer = ath10k_peer_find(ar, 0, addr);
455 if (!peer)
458 for (i = 0; i < ARRAY_SIZE(peer->keys); i++) {
459 if (peer->keys[i] && peer->keys[i]->keyidx == keyidx)
470 struct ath10k_peer *peer;
485 list_for_each_entry(peer, &ar->peers, list) {
486 for (i = 0; i < ARRAY_SIZE(peer->keys); i++) {
487 if (peer->keys[i] == key) {
488 ether_addr_copy(addr, peer->addr);
489 peer->keys[i] = NULL;
494 if (i < ARRAY_SIZE(peer->keys))
499 if (i == ARRAY_SIZE(peer->keys))
518 struct ath10k_peer *peer;
523 list_for_each_entry(peer, &ar->peers, list) {
524 if (ether_addr_equal(peer->addr, arvif->vif->addr))
527 if (ether_addr_equal(peer->addr, arvif->bssid))
530 if (peer->keys[key->keyidx] == key)
536 ret = ath10k_install_peer_wep_keys(arvif, peer->addr);
538 ath10k_warn(ar, "failed to update wep keys on vdev %i for peer %pM: %d\n",
539 arvif->vdev_id, peer->addr, ret);
702 ath10k_warn(ar, "failed wait for peer deleted");
709 ath10k_warn(ar, "Timeout in receiving peer delete response\n");
721 struct ath10k_peer *peer;
729 /* Each vdev consumes a peer entry as well */
738 ath10k_warn(ar, "failed to create wmi peer %pM on vdev %i: %i\n",
745 ath10k_warn(ar, "failed to wait for created wmi peer %pM on vdev %i: %i\n",
752 peer = ath10k_peer_find(ar, vdev_id, addr);
753 if (!peer) {
755 ath10k_warn(ar, "failed to find peer %pM on vdev %i after creation\n",
761 peer->vif = vif;
762 peer->sta = sta;
846 ath10k_warn(ar, "Timeout in receiving peer delete response\n");
856 static void ath10k_peer_map_cleanup(struct ath10k *ar, struct ath10k_peer *peer)
862 for_each_set_bit(peer_id, peer->peer_ids,
867 /* Double check that peer is properly un-referenced from
871 if (ar->peer_map[i] == peer) {
873 peer->addr, peer, i);
878 list_del(&peer->list);
879 kfree(peer);
885 struct ath10k_peer *peer, *tmp;
890 list_for_each_entry_safe(peer, tmp, &ar->peers, list) {
891 if (peer->vdev_id != vdev_id)
894 ath10k_warn(ar, "removing stale peer %pM from vdev_id %d\n",
895 peer->addr, vdev_id);
897 ath10k_peer_map_cleanup(ar, peer);
904 struct ath10k_peer *peer, *tmp;
910 list_for_each_entry_safe(peer, tmp, &ar->peers, list) {
911 list_del(&peer->list);
912 kfree(peer);
948 ath10k_warn(ar, "failed to update tdls peer %pM on vdev %i: %i\n",
2389 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac ht peer %pM mcs cnt %d nss %d\n",
2430 ath10k_warn(ar, "failed to set ap ps peer param uapsd for vdev %i: %d\n",
2440 ath10k_warn(ar, "failed to set ap ps peer param max sp for vdev %i: %d\n",
2454 ath10k_warn(ar, "failed to set ap ps peer param ageout time for vdev %i: %d\n",
2591 /* Calculate peer NSS capability from VHT capabilities if STA
2641 "mac vht peer %pM max_mpdu %d flags 0x%x peer_rx_nss_override 0x%x\n",
2675 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac peer %pM qos %d\n",
2775 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac peer %pM phymode %s\n",
2930 ath10k_warn(ar, "failed to prepare peer assoc for %pM vdev %i: %d\n",
2940 ath10k_warn(ar, "failed to run peer assoc for %pM vdev %i: %d\n",
2947 ath10k_warn(ar, "failed to setup peer SMPS for vdev %i: %d\n",
2971 ath10k_warn(ar, "failed to enable peer stats info: %d\n", ret);
2984 * poked with peer param command.
2989 ath10k_warn(ar, "failed to poke peer %pM param for ps workaround on vdev %i: %d\n",
3103 ath10k_warn(ar, "failed to prepare WMI peer assoc for %pM vdev %i: %i\n",
3110 ath10k_warn(ar, "failed to run peer assoc for STA %pM vdev %i: %d\n",
3116 * doesn't make much sense to reconfigure the peer completely.
3122 ath10k_warn(ar, "failed to setup peer SMPS for vdev %d: %d\n",
3148 ath10k_warn(ar, "failed to install peer wep keys for vdev %i: %d\n",
3182 ath10k_warn(ar, "failed to clear all peer wep keys for vdev %i: %d\n",
3583 * NativeWifi txmode - it selects AP key instead of peer key. It seems
3764 * point new firmware stopped requiring creation of peer entries for
3920 struct ath10k_peer *peer;
3934 /* FW requirement: We must create a peer before FW will send out
3936 * never transmitted. We delete the peer upon tx completion.
3937 * It is unlikely that a peer for offchannel tx will already be
3939 * Otherwise we might remove a legitimate peer and break stuff.
3957 peer = ath10k_peer_find(ar, vdev_id, peer_addr);
3960 if (peer)
3962 ath10k_dbg(ar, ATH10K_DBG_MAC, "peer %pM on vdev %d already present\n",
3965 if (!peer) {
3970 ath10k_warn(ar, "failed to create peer %pM on vdev %d: %d\n",
4009 if (!peer && tmp_peer_created) {
4012 ath10k_warn(ar, "failed to delete peer %pM on vdev %d: %d\n",
4108 struct ath10k_peer *peer;
4112 peer = ar->peer_map[peer_id];
4113 if (!peer)
4116 if (peer->removed)
4119 if (peer->sta)
4120 return peer->sta->txq[tid];
4121 else if (peer->vif)
4122 return peer->vif->txq;
5119 "failed to set peer stats period : %d\n",
5375 struct ath10k_peer *peer;
5407 ath10k_warn(ar, "refusing vdev creation due to insufficient peer entry resources in firmware\n");
5604 ath10k_warn(ar, "failed to create vdev %i peer for AP/IBSS: %d\n",
5611 peer = ath10k_peer_find(ar, arvif->vdev_id, vif->addr);
5612 if (!peer) {
5613 ath10k_warn(ar, "failed to lookup peer %pM on vdev %i\n",
5620 arvif->peer_id = find_first_bit(peer->peer_ids,
5756 struct ath10k_peer *peer;
5781 ath10k_warn(ar, "failed to submit AP/IBSS self-peer removal on vdev %i: %d\n",
5806 /* Some firmware revisions don't notify host about self-peer removal
5814 ath10k_warn(ar, "failed to remove AP self-peer on vdev %i: %d\n",
5824 peer = ar->peer_map[i];
5825 if (!peer)
5828 if (peer->vif == vif) {
5829 ath10k_warn(ar, "found vif peer %pM entry on vdev %i after it was supposedly removed\n",
5831 peer->vif = NULL;
6380 struct ath10k_peer *peer;
6425 /* the peer should not disappear in mid-way (unless FW goes awry) since
6429 peer = ath10k_peer_find(ar, arvif->vdev_id, peer_addr);
6432 if (!peer) {
6434 ath10k_warn(ar, "failed to install key for non-existent peer %pM\n",
6439 /* if the peer doesn't exist there is no key to disable anymore */
6455 * keys. Static WEP needs an explicit per-peer key upload.
6474 ath10k_warn(ar, "failed to install key for vdev %i peer %pM: %d\n",
6490 ath10k_warn(ar, "failed to install (ucast) key for vdev %i peer %pM: %d\n",
6496 ath10k_warn(ar, "failed to disable (mcast) key for vdev %i peer %pM: %d\n",
6506 peer = ath10k_peer_find(ar, arvif->vdev_id, peer_addr);
6507 if (peer && cmd == SET_KEY)
6508 peer->keys[key->keyidx] = key;
6509 else if (peer && cmd == DISABLE_KEY)
6510 peer->keys[key->keyidx] = NULL;
6511 else if (peer == NULL)
6608 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac update sta %pM peer bw %d phymode %d\n",
6614 ath10k_warn(ar, "failed to update STA %pM peer phymode %d: %d\n",
6622 ath10k_warn(ar, "failed to update STA %pM peer bw %d: %d\n",
7312 struct ath10k_peer *peer;
7346 "mac vdev %d peer create %pM (new sta) sta %d / %d peer %d / %d\n",
7384 ath10k_warn(ar, "failed to add peer %pM for vdev %d when adding a new sta: %i\n",
7393 peer = ath10k_peer_find(ar, arvif->vdev_id, sta->addr);
7394 if (!peer) {
7395 ath10k_warn(ar, "failed to lookup peer %pM on vdev %i\n",
7405 arsta->peer_id = find_first_bit(peer->peer_ids,
7429 "failed to update tdls peer %pM for vdev %d when adding a new sta: %i\n",
7446 "mac vdev %d peer delete %pM sta %pK (sta gone)\n",
7454 ath10k_warn(ar, "failed to update tdls peer state for %pM state %d: %i\n",
7461 ath10k_warn(ar, "failed to delete peer %pM for vdev %d: %i\n",
7468 peer = ar->peer_map[i];
7469 if (!peer)
7472 if (peer->sta == sta) {
7473 ath10k_warn(ar, "found sta peer %pM (ptr %pK id %d) entry on vdev %i after it was supposedly removed\n",
7474 sta->addr, peer, i, arvif->vdev_id);
7475 peer->sta = NULL;
7477 /* Clean up the peer object as well since we
7480 ath10k_peer_map_cleanup(ar, peer);
7499 /* This was the last tdls peer in current vif */
7540 ath10k_warn(ar, "failed to update tdls peer %pM for vdev %i: %i\n",
8189 ath10k_warn(ar, "failed to enable STA %pM peer fixed rate: %d\n",
8231 ath10k_warn(ar, "failed to clear STA %pM peer fixed rate: %d\n",
8304 /* Reach here, firmware supports peer fixed rate and has
8306 * the rate only for specific peer.
8353 struct ath10k_peer *peer;
8358 peer = ath10k_peer_find(ar, arvif->vdev_id, sta->addr);
8359 if (!peer) {
8361 ath10k_warn(ar, "mac sta rc update failed to find peer %pM on vdev %i\n",
8507 * on a linked list now. Doing a lookup peer -> vif -> chanctx for each
8911 struct ath10k_peer *peer;
8915 list_for_each_entry(peer, &ar->peers, list)
8916 if (peer->sta == sta)
8917 peer->removed = true;
9092 struct ath10k_peer *peer;
9101 peer = ath10k_peer_find(ar, arsta->arvif->vdev_id, sta->addr);
9103 if (!peer)
9114 ath10k_warn(ar, "could not request peer stats info: %d\n", ret);
9120 ath10k_warn(ar, "timed out waiting peer stats info\n");
9987 ar->hw->wiphy->tid_config_support.peer =