From 8a0928bf2f269c00b140c6b7b974ee025a44fa27 Mon Sep 17 00:00:00 2001 From: syed touqeer pasha Date: Fri, 1 Mar 2019 18:06:50 +0530 Subject: [PATCH] qcacmn: Handle flood of update ast messages Avoid duplicate update AST WMI messages being sent to FW. Change-Id: Ic2dac80a3ec13e1bef57140b512555dcbabd0587 --- dp/wifi3.0/dp_peer.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dp/wifi3.0/dp_peer.c b/dp/wifi3.0/dp_peer.c index 15de09e22577..a873d96bf4b1 100644 --- a/dp/wifi3.0/dp_peer.c +++ b/dp/wifi3.0/dp_peer.c @@ -904,6 +904,15 @@ int dp_peer_update_ast(struct dp_soc *soc, struct dp_peer *peer, (ast_entry->type == CDP_TXRX_AST_TYPE_WDS_HM_SEC)) return 0; + /* + * Avoids flood of WMI update messages sent to FW for same peer. + */ + if (qdf_unlikely(ast_entry->peer == peer) && + (ast_entry->type == CDP_TXRX_AST_TYPE_WDS) && + (ast_entry->vdev_id == peer->vdev->vdev_id) && + (ast_entry->is_active)) + return 0; + old_peer = ast_entry->peer; TAILQ_REMOVE(&old_peer->ast_entry_list, ast_entry, ase_list_elem);