From ed9d84abd6792739960aad44732e1ff39573afef Mon Sep 17 00:00:00 2001 From: Edayilliam Jayadev Date: Mon, 21 Aug 2023 21:04:39 +0530 Subject: [PATCH] qcacmn: Cleanup assert in mgmt rx reo - Part 7 Cleanup asserts in management Rx reorder module. Change-Id: Ia7fcabf770d3b38f62f23b6848b50eb8e4f6827b CRs-Fixed: 3593934 --- .../core/src/wlan_mgmt_txrx_rx_reo.c | 9 +- .../core/src/wlan_mgmt_txrx_rx_reo_i.h | 103 ++++++++++++++---- 2 files changed, 92 insertions(+), 20 deletions(-) diff --git a/umac/cmn_services/mgmt_txrx/core/src/wlan_mgmt_txrx_rx_reo.c b/umac/cmn_services/mgmt_txrx/core/src/wlan_mgmt_txrx_rx_reo.c index 85a80bfc51..a2d2332d37 100644 --- a/umac/cmn_services/mgmt_txrx/core/src/wlan_mgmt_txrx_rx_reo.c +++ b/umac/cmn_services/mgmt_txrx/core/src/wlan_mgmt_txrx_rx_reo.c @@ -4058,6 +4058,11 @@ mgmt_rx_reo_update_egress_list(struct mgmt_rx_reo_egress_list *egress_list, list_insertion_pos++; } + if (!least_greater_entry_found) { + mgmt_rx_reo_err("Lest greater entry not found"); + return QDF_STATUS_E_FAILURE; + } + ret = mgmt_rx_reo_update_wait_count(&new->wait_count, &least_greater->wait_count); @@ -5339,8 +5344,10 @@ wlan_mgmt_rx_reo_algo_entry(struct wlan_objmgr_pdev *pdev, qdf_spin_lock(&reo_ctx->reo_algo_entry_lock); cur_link = mgmt_rx_reo_get_link_id(desc->rx_params); - if (desc->frame_type != IEEE80211_FC0_TYPE_MGT) + if (desc->frame_type != IEEE80211_FC0_TYPE_MGT) { + ret = QDF_STATUS_E_INVAL; goto failure; + } ret = log_ingress_frame_entry(reo_ctx, desc); if (QDF_IS_STATUS_ERROR(ret)) diff --git a/umac/cmn_services/mgmt_txrx/core/src/wlan_mgmt_txrx_rx_reo_i.h b/umac/cmn_services/mgmt_txrx/core/src/wlan_mgmt_txrx_rx_reo_i.h index 883577c924..5fc035ed78 100644 --- a/umac/cmn_services/mgmt_txrx/core/src/wlan_mgmt_txrx_rx_reo_i.h +++ b/umac/cmn_services/mgmt_txrx/core/src/wlan_mgmt_txrx_rx_reo_i.h @@ -1075,7 +1075,10 @@ struct mgmt_rx_reo_frame_descriptor { static inline bool mgmt_rx_reo_list_overflowed(struct mgmt_rx_reo_list *reo_list) { - qdf_assert_always(reo_list); + if (!reo_list) { + mgmt_rx_reo_err("reo list is null"); + return false; + } return (qdf_list_size(&reo_list->list) > reo_list->max_list_size); } @@ -1090,7 +1093,10 @@ mgmt_rx_reo_list_overflowed(struct mgmt_rx_reo_list *reo_list) static inline struct mgmt_rx_reo_context * mgmt_rx_reo_get_context_from_ingress_list (const struct mgmt_rx_reo_ingress_list *ingress_list) { - qdf_assert_always(ingress_list); + if (!ingress_list) { + mgmt_rx_reo_err("ingress list is null"); + return NULL; + } return qdf_container_of(ingress_list, struct mgmt_rx_reo_context, ingress_list); @@ -1106,7 +1112,10 @@ mgmt_rx_reo_get_context_from_ingress_list static inline struct mgmt_rx_reo_context * mgmt_rx_reo_get_context_from_egress_list (const struct mgmt_rx_reo_ingress_list *egress_list) { - qdf_assert_always(egress_list); + if (!egress_list) { + mgmt_rx_reo_err("Egress list is null"); + return NULL; + } return qdf_container_of(egress_list, struct mgmt_rx_reo_context, egress_list); @@ -1122,8 +1131,15 @@ mgmt_rx_reo_get_context_from_egress_list static inline uint32_t mgmt_rx_reo_get_global_ts(struct mgmt_rx_event_params *rx_params) { - qdf_assert_always(rx_params); - qdf_assert_always(rx_params->reo_params); + if (!rx_params) { + mgmt_rx_reo_err("rx params is null"); + return 0; + } + + if (!rx_params->reo_params) { + mgmt_rx_reo_err("reo params is null"); + return 0; + } return rx_params->reo_params->global_timestamp; } @@ -1137,8 +1153,15 @@ mgmt_rx_reo_get_global_ts(struct mgmt_rx_event_params *rx_params) static inline uint32_t mgmt_rx_reo_get_start_ts(struct mgmt_rx_event_params *rx_params) { - qdf_assert_always(rx_params); - qdf_assert_always(rx_params->reo_params); + if (!rx_params) { + mgmt_rx_reo_err("rx params is null"); + return 0; + } + + if (!rx_params->reo_params) { + mgmt_rx_reo_err("reo params is null"); + return 0; + } return rx_params->reo_params->start_timestamp; } @@ -1152,8 +1175,15 @@ mgmt_rx_reo_get_start_ts(struct mgmt_rx_event_params *rx_params) static inline uint32_t mgmt_rx_reo_get_end_ts(struct mgmt_rx_event_params *rx_params) { - qdf_assert_always(rx_params); - qdf_assert_always(rx_params->reo_params); + if (!rx_params) { + mgmt_rx_reo_err("rx params is null"); + return 0; + } + + if (!rx_params->reo_params) { + mgmt_rx_reo_err("reo params is null"); + return 0; + } return rx_params->reo_params->end_timestamp; } @@ -1168,8 +1198,15 @@ mgmt_rx_reo_get_end_ts(struct mgmt_rx_event_params *rx_params) static inline uint32_t mgmt_rx_reo_get_duration_us(struct mgmt_rx_event_params *rx_params) { - qdf_assert_always(rx_params); - qdf_assert_always(rx_params->reo_params); + if (!rx_params) { + mgmt_rx_reo_err("rx params is null"); + return 0; + } + + if (!rx_params->reo_params) { + mgmt_rx_reo_err("reo params is null"); + return 0; + } return rx_params->reo_params->duration_us; } @@ -1184,8 +1221,15 @@ mgmt_rx_reo_get_duration_us(struct mgmt_rx_event_params *rx_params) static inline uint16_t mgmt_rx_reo_get_pkt_counter(struct mgmt_rx_event_params *rx_params) { - qdf_assert_always(rx_params); - qdf_assert_always(rx_params->reo_params); + if (!rx_params) { + mgmt_rx_reo_err("rx params is null"); + return 0; + } + + if (!rx_params->reo_params) { + mgmt_rx_reo_err("reo params is null"); + return 0; + } return rx_params->reo_params->mgmt_pkt_ctr; } @@ -1200,8 +1244,15 @@ mgmt_rx_reo_get_pkt_counter(struct mgmt_rx_event_params *rx_params) static inline uint8_t mgmt_rx_reo_get_link_id(struct mgmt_rx_event_params *rx_params) { - qdf_assert_always(rx_params); - qdf_assert_always(rx_params->reo_params); + if (!rx_params) { + mgmt_rx_reo_err("rx params is null"); + return 0; + } + + if (!rx_params->reo_params) { + mgmt_rx_reo_err("reo params is null"); + return 0; + } return rx_params->reo_params->link_id; } @@ -1216,8 +1267,15 @@ mgmt_rx_reo_get_link_id(struct mgmt_rx_event_params *rx_params) static inline uint8_t mgmt_rx_reo_get_mlo_grp_id(struct mgmt_rx_event_params *rx_params) { - qdf_assert_always(rx_params); - qdf_assert_always(rx_params->reo_params); + if (!rx_params) { + mgmt_rx_reo_err("rx params is null"); + return 0; + } + + if (!rx_params->reo_params) { + mgmt_rx_reo_err("reo params is null"); + return 0; + } return rx_params->reo_params->mlo_grp_id; } @@ -1232,8 +1290,15 @@ mgmt_rx_reo_get_mlo_grp_id(struct mgmt_rx_event_params *rx_params) static inline uint8_t mgmt_rx_reo_get_pdev_id(struct mgmt_rx_event_params *rx_params) { - qdf_assert_always(rx_params); - qdf_assert_always(rx_params->reo_params); + if (!rx_params) { + mgmt_rx_reo_err("rx params is null"); + return 0; + } + + if (!rx_params->reo_params) { + mgmt_rx_reo_err("reo params is null"); + return 0; + } return rx_params->reo_params->pdev_id; }