Lines Matching refs:peer
153 struct ath10k_peer *peer;
157 list_for_each_entry(peer, &ar->peers, list) {
158 if (peer->vdev_id != vdev_id)
160 if (!ether_addr_equal(peer->addr, addr))
163 return peer;
171 struct ath10k_peer *peer;
173 if (peer_id >= BITS_PER_TYPE(peer->peer_ids))
178 list_for_each_entry(peer, &ar->peers, list)
179 if (test_bit(peer_id, peer->peer_ids))
180 return peer;
221 struct ath10k_peer *peer;
225 "received htt peer map event with idx out of bounds: %u\n",
231 peer = ath10k_peer_find(ar, ev->vdev_id, ev->addr);
232 if (!peer) {
233 peer = kzalloc(sizeof(*peer), GFP_ATOMIC);
234 if (!peer)
237 peer->vdev_id = ev->vdev_id;
238 ether_addr_copy(peer->addr, ev->addr);
239 list_add(&peer->list, &ar->peers);
243 ath10k_dbg(ar, ATH10K_DBG_HTT, "htt peer map vdev %d peer %pM id %d\n",
246 WARN_ON(ar->peer_map[ev->peer_id] && (ar->peer_map[ev->peer_id] != peer));
247 ar->peer_map[ev->peer_id] = peer;
248 set_bit(ev->peer_id, peer->peer_ids);
257 struct ath10k_peer *peer;
261 "received htt peer unmap event with idx out of bounds: %u\n",
267 peer = ath10k_peer_find_by_id(ar, ev->peer_id);
268 if (!peer) {
269 ath10k_warn(ar, "peer-unmap-event: unknown peer id %d\n",
274 ath10k_dbg(ar, ATH10K_DBG_HTT, "htt peer unmap vdev %d peer %pM id %d\n",
275 peer->vdev_id, peer->addr, ev->peer_id);
278 clear_bit(ev->peer_id, peer->peer_ids);
280 if (bitmap_empty(peer->peer_ids, ATH10K_MAX_NUM_PEER_IDS)) {
281 list_del(&peer->list);
282 kfree(peer);