|
@@ -2459,6 +2459,8 @@ ol_txrx_peer_attach(struct cdp_vdev *pvdev, uint8_t *peer_mac_addr)
|
|
|
qdf_atomic_inc(&peer->ref_cnt);
|
|
|
|
|
|
peer->valid = 1;
|
|
|
+ qdf_mc_timer_init(&peer->peer_unmap_timer, QDF_TIMER_TYPE_SW,
|
|
|
+ peer_unmap_timer_handler, peer);
|
|
|
|
|
|
ol_txrx_peer_find_hash_add(pdev, peer);
|
|
|
|
|
@@ -3147,10 +3149,7 @@ int ol_txrx_peer_unref_delete(ol_txrx_peer_handle peer)
|
|
|
vdev->wait_on_peer_id = OL_TXRX_INVALID_LOCAL_PEER_ID;
|
|
|
}
|
|
|
|
|
|
- if (vdev->opmode == wlan_op_mode_sta) {
|
|
|
- qdf_mc_timer_stop(&peer->peer_unmap_timer);
|
|
|
- qdf_mc_timer_destroy(&peer->peer_unmap_timer);
|
|
|
- }
|
|
|
+ qdf_mc_timer_destroy(&peer->peer_unmap_timer);
|
|
|
|
|
|
/* check whether the parent vdev has no peers left */
|
|
|
if (TAILQ_EMPTY(&vdev->peer_list)) {
|
|
@@ -3366,8 +3365,6 @@ static void ol_txrx_peer_detach(void *ppeer)
|
|
|
* Create a timer to track unmap events when the sta peer gets deleted.
|
|
|
*/
|
|
|
if (vdev->opmode == wlan_op_mode_sta) {
|
|
|
- qdf_mc_timer_init(&peer->peer_unmap_timer, QDF_TIMER_TYPE_SW,
|
|
|
- peer_unmap_timer_handler, peer);
|
|
|
qdf_mc_timer_start(&peer->peer_unmap_timer,
|
|
|
OL_TXRX_PEER_UNMAP_TIMEOUT);
|
|
|
ol_txrx_info("started peer_unmap_timer for peer %p", peer);
|