Lines Matching defs:peer
140 struct ath10k_peer *peer;
144 list_for_each_entry(peer, &ar->peers, list) {
145 if (peer->vdev_id != vdev_id)
147 if (!ether_addr_equal(peer->addr, addr))
150 return peer;
158 struct ath10k_peer *peer;
160 if (peer_id >= BITS_PER_TYPE(peer->peer_ids))
165 list_for_each_entry(peer, &ar->peers, list)
166 if (test_bit(peer_id, peer->peer_ids))
167 return peer;
208 struct ath10k_peer *peer;
212 "received htt peer map event with idx out of bounds: %hu\n",
218 peer = ath10k_peer_find(ar, ev->vdev_id, ev->addr);
219 if (!peer) {
220 peer = kzalloc(sizeof(*peer), GFP_ATOMIC);
221 if (!peer)
224 peer->vdev_id = ev->vdev_id;
225 ether_addr_copy(peer->addr, ev->addr);
226 list_add(&peer->list, &ar->peers);
230 ath10k_dbg(ar, ATH10K_DBG_HTT, "htt peer map vdev %d peer %pM id %d\n",
233 WARN_ON(ar->peer_map[ev->peer_id] && (ar->peer_map[ev->peer_id] != peer));
234 ar->peer_map[ev->peer_id] = peer;
235 set_bit(ev->peer_id, peer->peer_ids);
244 struct ath10k_peer *peer;
248 "received htt peer unmap event with idx out of bounds: %hu\n",
254 peer = ath10k_peer_find_by_id(ar, ev->peer_id);
255 if (!peer) {
256 ath10k_warn(ar, "peer-unmap-event: unknown peer id %d\n",
261 ath10k_dbg(ar, ATH10K_DBG_HTT, "htt peer unmap vdev %d peer %pM id %d\n",
262 peer->vdev_id, peer->addr, ev->peer_id);
265 clear_bit(ev->peer_id, peer->peer_ids);
267 if (bitmap_empty(peer->peer_ids, ATH10K_MAX_NUM_PEER_IDS)) {
268 list_del(&peer->list);
269 kfree(peer);