From fc60b6d73b7e5fb14bb7dec33ac4d364f0094680 Mon Sep 17 00:00:00 2001 From: Rakesh Pillai Date: Tue, 4 Feb 2020 14:49:49 +0530 Subject: [PATCH] qcacmn: Do not try to delete a peer if already deleted Currently if any layer tries to delete a peer which has already been deleted, there is no check to stop the delete operation. Deleting an already deleted peer is incorrect. Check if the peer is valid before we try to delete the peer. Change-Id: Icc280554a652e0ee3f1ea38c98fb130ea3c1ae80 CRs-Fixed: 2613595 --- dp/wifi3.0/dp_main.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 462899eca178..ca7e95e9c827 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -6446,6 +6446,12 @@ static QDF_STATUS dp_peer_delete_wifi3(struct cdp_soc_t *soc, uint8_t vdev_id, return QDF_STATUS_E_FAILURE; } + if (!peer->valid) { + dp_peer_unref_delete(peer); + dp_err("Invalid peer: %pM", peer_mac); + return QDF_STATUS_E_ALREADY; + } + peer->valid = 0; QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO_HIGH,