qcacld-3.0: Skip FISA aggregation if RDI is zero

Skip the FISA aggregation and drop the frame if the reo destination
indication is zero in the packet TLVs.

Change-Id: I9bd02652bf321202f6b59e6da98fc6959ab93413
CRs-Fixed: 3426355
This commit is contained in:
Venkateswara Naralasetty
2023-03-06 20:14:02 +05:30
committed by Madan Koyyalamudi
parent 6834278f17
commit 2bcf36b06f

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -1971,6 +1971,7 @@ QDF_STATUS dp_fisa_rx(struct dp_soc *soc, struct dp_vdev *vdev,
struct dp_fisa_rx_sw_ft *fisa_flow;
int fisa_ret;
uint8_t rx_ctx_id = QDF_NBUF_CB_RX_CTX_ID(nbuf_list);
uint32_t tlv_reo_dest_ind;
head_nbuf = nbuf_list;
@@ -1999,6 +2000,18 @@ QDF_STATUS dp_fisa_rx(struct dp_soc *soc, struct dp_vdev *vdev,
qdf_nbuf_push_head(head_nbuf, soc->rx_pkt_tlv_size +
QDF_NBUF_CB_RX_PACKET_L3_HDR_PAD(head_nbuf));
hal_rx_msdu_get_reo_destination_indication(soc->hal_soc,
(uint8_t *)qdf_nbuf_data(head_nbuf),
&tlv_reo_dest_ind);
/* Skip FISA aggregation and drop the frame if RDI is REO2TCL. */
if (qdf_unlikely(tlv_reo_dest_ind == REO_REMAP_TCL)) {
qdf_nbuf_free(head_nbuf);
head_nbuf = next_nbuf;
DP_STATS_INC(dp_fisa_rx_hdl, incorrect_rdi, 1);
continue;
}
/* Add new flow if the there is no ongoing flow */
fisa_flow = dp_rx_get_fisa_flow(dp_fisa_rx_hdl, vdev,
head_nbuf);