qcacmn: Avoid entry free only based on WDS feature flag

Allow AST entry deletion from del_ast call for HTT V1 cases

Change-Id: If7cd1dfe59680b29c8664a460a236e608c00b158
This commit is contained in:
Radha Krishna Simha Jiguru
2020-02-07 16:16:12 +05:30
committed by nshrivas
부모 4631007d0c
커밋 89a6c08c9b
2개의 변경된 파일30개의 추가작업 그리고 11개의 파일을 삭제

파일 보기

@@ -34,6 +34,34 @@
#include "dp_tx_capture.h"
#endif
#ifdef FEATURE_WDS
static inline bool
dp_peer_ast_free_in_unmap_supported(struct dp_peer *peer,
struct dp_ast_entry *ast_entry)
{
/* if peer map v2 is enabled we are not freeing ast entry
* here and it is supposed to be freed in unmap event (after
* we receive delete confirmation from target)
*
* if peer_id is invalid we did not get the peer map event
* for the peer free ast entry from here only in this case
*/
if ((ast_entry->type != CDP_TXRX_AST_TYPE_WDS_HM_SEC) &&
(ast_entry->type != CDP_TXRX_AST_TYPE_SELF))
return true;
return false;
}
#else
static inline bool
dp_peer_ast_free_in_unmap_supported(struct dp_peer *peer,
struct dp_ast_entry *ast_entry)
{
return false;
}
#endif
static inline void
dp_set_ssn_valid_flag(struct hal_reo_cmd_params *params,
uint8_t valid)
@@ -935,12 +963,7 @@ void dp_peer_del_ast(struct dp_soc *soc, struct dp_ast_entry *ast_entry)
* if peer_id is invalid we did not get the peer map event
* for the peer free ast entry from here only in this case
*/
/* For HM_SEC and SELF type we do not receive unmap event
* free ast_entry from here it self
*/
if ((ast_entry->type != CDP_TXRX_AST_TYPE_WDS_HM_SEC) &&
(ast_entry->type != CDP_TXRX_AST_TYPE_SELF))
if (dp_peer_ast_free_in_unmap_supported(peer, ast_entry))
return;
/* for WDS secondary entry ast_entry->next_hop would be set so