qcacmn: Update peer delete sequence in dp_peer_delete_wifi3()

Update peer delete sequence in dp_peer_delete_wifi3(). Currently
local peer id is freed and peer_info_spinlock is destroyed after peer
is deleted. This is resulting in OOPS error. Call dp_unref_peer_delete
only after cleaning other peer information.

Change-Id: I58cd7114d07c7d7addc941e8509661f050c23a9c
CRs-Fixed: 1116647
This commit is contained in:
Krishna Kumaar Natarajan 2017-01-28 18:37:01 -08:00 • committed by qcabuildsw
commit 604fe16cc0

View file

@ -1576,6 +1576,11 @@ static void dp_peer_delete_wifi3(void *peer_handle)
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO_HIGH,
FL("peer %p (%pM)"), peer, peer->mac_addr.raw);
#ifndef CONFIG_WIN
dp_local_peer_id_free(peer->vdev->pdev, peer);
#endif
qdf_spinlock_destroy(&peer->peer_info_lock);
/*
* Remove the reference added during peer_attach.
* The peer will still be left allocated until the
@ -1583,10 +1588,6 @@ static void dp_peer_delete_wifi3(void *peer_handle)
* reference, added by the PEER_MAP message.
*/
dp_peer_unref_delete(peer_handle);
#ifndef CONFIG_WIN
dp_local_peer_id_free(peer->vdev->pdev, peer);
#endif
qdf_spinlock_destroy(&peer->peer_info_lock);
}
/*