From 6f1af61798d6207fee5f0bea3da3a27aea36df29 Mon Sep 17 00:00:00 2001 From: phadiman Date: Thu, 18 Oct 2018 16:08:40 +0530 Subject: [PATCH] qcacmn: Add AST entry type check There will not be any AST entry for HMWDS Seconday Hence add check for the same in del_peer_del_ast to avoid deletion for such entries Change-Id: Ia96856d93531200e27e0d0a97b80ed6ec1baa42b --- dp/wifi3.0/dp_main.c | 6 ++++-- dp/wifi3.0/dp_peer.c | 3 ++- dp/wifi3.0/dp_types.h | 2 -- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index b22699de6e74..ef6074b8ab95 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -928,7 +928,8 @@ static void dp_print_ast_stats(struct dp_soc *soc) " ast_idx = %d" " ast_hash = %d" " pdev_id = %d" - " vdev_id = %d", + " vdev_id = %d" + " wmi_sent = %d", ++num_entries, ase->mac_addr.raw, ase->peer->mac_addr.raw, @@ -939,7 +940,8 @@ static void dp_print_ast_stats(struct dp_soc *soc) ase->ast_idx, ase->ast_hash_value, ase->pdev_id, - ase->vdev_id); + ase->vdev_id, + ase->wmi_sent); } } } diff --git a/dp/wifi3.0/dp_peer.c b/dp/wifi3.0/dp_peer.c index 52e49c867966..e25060d2f217 100644 --- a/dp/wifi3.0/dp_peer.c +++ b/dp/wifi3.0/dp_peer.c @@ -646,7 +646,8 @@ void dp_peer_del_ast(struct dp_soc *soc, struct dp_ast_entry *ast_entry) { struct dp_peer *peer = ast_entry->peer; - if (ast_entry->next_hop) { + if (ast_entry->next_hop && + ast_entry->type != CDP_TXRX_AST_TYPE_WDS_HM_SEC) { dp_peer_ast_send_wds_del(soc, ast_entry); } else { /* diff --git a/dp/wifi3.0/dp_types.h b/dp/wifi3.0/dp_types.h index e6d788293d4a..adb087493165 100644 --- a/dp/wifi3.0/dp_types.h +++ b/dp/wifi3.0/dp_types.h @@ -673,10 +673,8 @@ struct dp_ast_entry { uint16_t ast_hash_value; qdf_atomic_t ref_cnt; enum cdp_txrx_ast_entry_type type; -#ifdef AST_HKV1_WORKAROUND bool wmi_sent; void *cp_ctx; -#endif TAILQ_ENTRY(dp_ast_entry) ase_list_elem; TAILQ_ENTRY(dp_ast_entry) hash_list_elem; };