ath10k: clean up num_peers locking

The var was supposed to be protected by data_lock
but it wasn't so in all instances. It's actually
not necessary to have a spinlock protected
num_peers so drop it.

All instances of num_peers are already within
conf_mutex sections so use that.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
Michal Kazior 2014-11-25 15:16:04 +01:00 committed by Kalle Valo
parent a52c028272
commit 292a753d4b
2 changed files with 4 additions and 6 deletions

View File

@ -564,7 +564,7 @@ struct ath10k {
struct list_head peers; struct list_head peers;
wait_queue_head_t peer_mapping_wq; wait_queue_head_t peer_mapping_wq;
/* number of created peers; protected by data_lock */ /* protected by conf_mutex */
int num_peers; int num_peers;
struct work_struct offchan_tx_work; struct work_struct offchan_tx_work;

View File

@ -368,9 +368,8 @@ static int ath10k_peer_create(struct ath10k *ar, u32 vdev_id, const u8 *addr)
addr, vdev_id, ret); addr, vdev_id, ret);
return ret; return ret;
} }
spin_lock_bh(&ar->data_lock);
ar->num_peers++; ar->num_peers++;
spin_unlock_bh(&ar->data_lock);
return 0; return 0;
} }
@ -461,9 +460,7 @@ static int ath10k_peer_delete(struct ath10k *ar, u32 vdev_id, const u8 *addr)
if (ret) if (ret)
return ret; return ret;
spin_lock_bh(&ar->data_lock);
ar->num_peers--; ar->num_peers--;
spin_unlock_bh(&ar->data_lock);
return 0; return 0;
} }
@ -500,8 +497,9 @@ static void ath10k_peer_cleanup_all(struct ath10k *ar)
list_del(&peer->list); list_del(&peer->list);
kfree(peer); kfree(peer);
} }
ar->num_peers = 0;
spin_unlock_bh(&ar->data_lock); spin_unlock_bh(&ar->data_lock);
ar->num_peers = 0;
} }
/************************/ /************************/