qcacmn: Cleanup assert in mgmt rx reo - Part 6

Cleanup asserts in management Rx reorder module.

Change-Id: Ief86560bab36a59c7e82707a4c0b58ff4ce954a8
CRs-Fixed: 3593933
This commit is contained in:
Edayilliam Jayadev
2023-08-21 21:04:32 +05:30
gecommit door Rahul Choudhary
bovenliggende 4aa45fd033
commit 105a5fc213
3 gewijzigde bestanden met toevoegingen van 46 en 12 verwijderingen

Bestand weergeven

@@ -29,6 +29,7 @@
#include <wlan_lmac_if_api.h>
#include <init_deinit_lmac.h>
#include <wlan_mlo_mgr_setup.h>
#include <qdf_platform.h>
/**
* target_if_mgmt_rx_reo_fw_consumed_event_handler() - WMI event handler to
@@ -280,6 +281,7 @@ target_if_mgmt_rx_reo_get_valid_hw_link_bitmap(struct wlan_objmgr_psoc *psoc,
/**
* target_if_mgmt_rx_reo_read_snapshot_raw() - Read raw value of management
* rx-reorder snapshot
* @pdev: pointer to pdev object
* @snapshot_address: snapshot address
* @mgmt_rx_reo_snapshot_low: Pointer to lower 32 bits of snapshot value
* @mgmt_rx_reo_snapshot_high: Pointer to higher 32 bits of snapshot value
@@ -292,7 +294,8 @@ target_if_mgmt_rx_reo_get_valid_hw_link_bitmap(struct wlan_objmgr_psoc *psoc,
*/
static QDF_STATUS
target_if_mgmt_rx_reo_read_snapshot_raw
(struct mgmt_rx_reo_shared_snapshot *snapshot_address,
(struct wlan_objmgr_pdev *pdev,
struct mgmt_rx_reo_shared_snapshot *snapshot_address,
uint32_t *mgmt_rx_reo_snapshot_low,
uint32_t *mgmt_rx_reo_snapshot_high,
uint8_t snapshot_version,
@@ -343,8 +346,14 @@ target_if_mgmt_rx_reo_read_snapshot_raw
prev_snapshot_high = cur_snapshot_high;
}
qdf_assert_always(retry_count !=
(MGMT_RX_REO_SNAPSHOT_B2B_READ_SWAR_RETRY_LIMIT - 1));
if (retry_count ==
(MGMT_RX_REO_SNAPSHOT_B2B_READ_SWAR_RETRY_LIMIT - 1)) {
enum qdf_hang_reason reason;
reason = QDF_MGMT_RX_REO_INCONSISTENT_SNAPSHOT;
mgmt_rx_reo_err("Triggering self recovery, inconsistent SS");
qdf_trigger_self_recovery(wlan_pdev_get_psoc(pdev), reason);
}
*mgmt_rx_reo_snapshot_low = cur_snapshot_low;
*mgmt_rx_reo_snapshot_high = cur_snapshot_high;
@@ -426,7 +435,7 @@ target_if_mgmt_rx_reo_read_snapshot(
for (; retry_count < MGMT_RX_REO_SNAPSHOT_READ_RETRY_LIMIT;
retry_count++) {
status = target_if_mgmt_rx_reo_read_snapshot_raw
(snapshot_address,
(pdev, snapshot_address,
&mgmt_rx_reo_snapshot_low,
&mgmt_rx_reo_snapshot_high,
snapshot_version,
@@ -481,13 +490,18 @@ target_if_mgmt_rx_reo_read_snapshot(
}
if (retry_count == MGMT_RX_REO_SNAPSHOT_READ_RETRY_LIMIT) {
enum qdf_hang_reason reason;
mgmt_rx_reo_err("Read retry limit, id = %d, ver = %u",
id, snapshot_version);
snapshot_value->valid = false;
snapshot_value->mgmt_pkt_ctr = 0xFFFF;
snapshot_value->global_timestamp = 0xFFFFFFFF;
snapshot_value->retry_count = retry_count;
qdf_assert_always(0);
reason = QDF_MGMT_RX_REO_INCONSISTENT_SNAPSHOT;
mgmt_rx_reo_err("Triggering self recovery, retry fail");
qdf_trigger_self_recovery(wlan_pdev_get_psoc(pdev),
reason);
return QDF_STATUS_E_FAILURE;
}